你参考一下吧,希望能帮到你。 public static final String RESTORE_CARRIERS_URI = "content://telephony/carriers/restore"; public static final String PREFERRED_APN_URI = "content://telephony/carriers/preferapn"; public static final String APN_ID = "apn_id"; public static final String APN_ID_ONE = "apn_id.0"; public static final String APN_ID_TWO = "apn_id.1"; private static final Uri PREFERAPN_URI = Uri.parse(PREFERRED_APN_URI); private static final String ChinaUnionPLMN = "46001"; private static final int ID_INDEX = 0; private static final int NAME_INDEX = 1; private static final int APN_INDEX = 2; private static final int TYPES_INDEX = 3; private ApnInfo getSelectedApn() { ApnInfo selectedApn = new ApnInfo(); Cursor cursor = mContext.getContentResolver().query(PREFERAPN_URI, new String[] {"_id", "name", "apn", "type"}, String.valueOf(1), null, Telephony.Carriers.DEFAULT_SORT_ORDER); if (cursor.getCount() > 0) { cursor.moveToFirst(); String id = cursor.getString(ID_INDEX); String name = cursor.getString(NAME_INDEX); String apn = cursor.getString(APN_INDEX); String type = cursor.getString(TYPES_INDEX); selectedApn.setId(id); selectedApn.setName(name); selectedApn.setApn(apn); selectedApn.setType(type); } cursor.close(); return selectedApn; }
"content://telephony/carriers/restore";
public static final String PREFERRED_APN_URI =
"content://telephony/carriers/preferapn";
public static final String APN_ID = "apn_id";
public static final String APN_ID_ONE = "apn_id.0";
public static final String APN_ID_TWO = "apn_id.1";
private static final Uri PREFERAPN_URI = Uri.parse(PREFERRED_APN_URI);
private static final String ChinaUnionPLMN = "46001";
private static final int ID_INDEX = 0;
private static final int NAME_INDEX = 1;
private static final int APN_INDEX = 2;
private static final int TYPES_INDEX = 3; private ApnInfo getSelectedApn() {
ApnInfo selectedApn = new ApnInfo();
Cursor cursor = mContext.getContentResolver().query(PREFERAPN_URI, new String[] {"_id", "name", "apn", "type"},
String.valueOf(1), null, Telephony.Carriers.DEFAULT_SORT_ORDER);
if (cursor.getCount() > 0) {
cursor.moveToFirst();
String id = cursor.getString(ID_INDEX);
String name = cursor.getString(NAME_INDEX);
String apn = cursor.getString(APN_INDEX);
String type = cursor.getString(TYPES_INDEX);
selectedApn.setId(id);
selectedApn.setName(name);
selectedApn.setApn(apn);
selectedApn.setType(type);
}
cursor.close();
return selectedApn;
}
String.valueOf(1),这段不是很理解呀,请兄弟解释下。。
我查看了carriers表,第一个apn的_id是1,第二个apn的_id为2,但是如果用户手动把第二个apn设置成了默认的apn,String.valueOf(1),那岂不是还是获得第二个apn的信息。。??