Carriers.AUTH_TYPE) == false) {
row.put(Telephony.Carriers.AUTH_TYPE, -1);
}
if (row.containsKey(Telephony.Carriers.PROTOCOL) == false) {
row.put(Telephony.Carriers.PROTOCOL, "IP");
}
if (row.containsKey(Telephony.Carriers.ROAMING_PROTOCOL) == false) {
row.put(Telephony.Carriers.ROAMING_PROTOCOL, "IP");
}
if (row.containsKey(Telephony.Carriers.CARRIER_ENABLED) == false) {
row.put(Telephony.Carriers.CARRIER_ENABLED, true);
}
if (row.containsKey(Telephony.Carriers.BEARER) == false) {
row.put(Telephony.Carriers.BEARER, 0);
}
if (row.containsKey(Telephony.Carriers.MVNO_TYPE) == false) {
row.put(Telephony.Carriers.MVNO_TYPE, "");
}
if (row.containsKey(Telephony.Carriers.MVNO_MATCH_DATA) == false) {
row.put(Telephony.Carriers.MVNO_MATCH_DATA, "");
}
//add by likai start
String custApn = Settings.Secure.getString(mContext.getContentResolver(), "key_custom_apn");
if(custApn != null) {
if (row.containsKey(Telephony.Carriers.APN)) {
String apn = row.getAsString(Telephony.Carriers.APN);
if(apn != null && !"".equals(custApn) && !apn.equalsIgnoreCase(custApn)) {
//Log.d(TAG, "apn not equals");
return;
}else{
Log.d(TAG, "apn equals, custom apn = " + custApn);
}
}
}
//add by likai end
db.insert(CARRIERS_TABLE, null, row);
}
然后,在接收到要更新使用专有网络apn的时候,进入重置apn列表即可:
public static final Uri RESTORE_APN_URI = Uri.parse("content://telephony/carriers/restore");
if("NULL".equalsIgnoreCase(newAPN)){
Settings.Secure.putString(mContext.getCon