1 // APN列表资源 2 private static Uri APN_LIST_URI = Uri.parse("content://telephony/carriers");
1 // 默认APN资源(当前正在使用的apn) 2 private static Uri PREFERRED_APN_URI = Uri.parse("content://telephony/carriers/preferapn");
1 int id = -1; 2 ContentResolver resolver = context.getContentResolver(); 3 Cursor c = resolver.query(APN_LIST_URI, new String[] { "_id", "name", "apn" }, "apn like '%myapn%'", null, null); //从apn列表中查找apn名称为myapn的apn信息 4 if (c != null && c.moveToNext()) { 5 id = c.getShort(c.getColumnIndex("_id")); //获取该apn的id信息 6 System.out.println("APN已经存在"); 7 } else { 8 System.out.println("APN不存在"); 9 }
1 protected String getSIMInfo() { 2 TelephonyManager iPhoneManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); 3 return iPhoneManager.getSimOperator(); 4 } 5 6 7 public int AddXFTApn() { 8 System.out.println("添加一个新的apn ==> XFT APN"); 9 int apnId = -1; 10 String NUMERIC = getSIMInfo(); 11 if (NUMERIC == null) { 12 Toast.makeText(context, "不存在SIM卡", Toast.LENGTH_SHORT).show(); 13 return -1; 14 } 15 ContentResolver resolver = context.getContentResolver(); 16 ContentValues values = new ContentValues(); 17 18 values.put("name",“专用APN”); //apn中文描述 19 values.put("apn", “myapn”); //apn名称 20 values.put("type", "default,supl"); 21 values.put("numeric", NUMERIC); 22 values.put("mcc", NUMERIC.substring(0, 3)); 23 values.put("mnc", NUMERIC.substring(3, NUMERIC.length())); 24 values.put("proxy", ""); 25 values.put("port", ""); 26 values.put("mmsproxy", ""); 27 values.put("mmsport", ""); 28 values.put("user", ""); 29 values.put("server", ""); 30 values.put("password", ""); 31 values.put("mmsc", ""); 32 Cursor c = null; 33 // 获取新添加的apn的ID 34 try { 35 Uri newRow = resolver.insert(APN_LIST_URI, values); 36 if (newRow != null) { 37 c = resolver.query(newRow, null, null, null, null); 38 int idindex = c.getColumnIndex("_id"); 39 c.moveToFirst(); 40 apnId = idindex; 41 } 42 } catch (SQLException e) { 43 e.printStackTrace(); 44 } 45 if (c != null) 46 c.close(); 47 return apnId; 48 }
1 public boolean setDefaultApn(int apnId) { 2 // System.out.println("设置选中的apnID ==》 " + apnId); 3 boolean res = false; 4 ContentResolver resolver = context.getContentResolver(); 5 ContentValues values = new ContentValues(); 6 values.put("apn_id", apnId); 7 try { 8 resolver.update(PREFERRED_APN_URI, values, null, null); 9 Cursor c = resolver.query(PREFERRED_APN_URI, new String[] { "name", "apn" }, "_id=" + apnId, null, null); 10 if (c != null) { 11 res = true; 12 c.close(); 13 } 14 } catch (SQLException e) { 15 e.printStackTrace(); 16 } 17 return res; 18 }
1 protected String getSIMInfo() { 2 2 TelephonyManager iPhoneManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); 3 3 return iPhoneManager.getSimOperator(); 4 4 } 5 5 6 6 7 7 public int AddXFTApn() { 8 8 System.out.println("添加一个新的apn ==> XFT APN"); 9 9 int apnId = -1; 10 10 String NUMERIC = getSIMInfo(); 11 11 if (NUMERIC == null) { 12 12 Toast.makeText(context, "不存在SIM卡", Toast.LENGTH_SHORT).show(); 13 13 return -1; 14 14 } 15 15 ContentResolver resolver = context.getContentResolver(); 16 16 ContentValues values = new ContentValues(); 17 17 18 18 values.put("name",“专用APN”); //apn中文描述 19 19 values.put("apn", “myapn”); //apn名称 20 20 values.put("type", "default,supl"); 21 21 values.put("numeric", NUMERIC); 22 22 values.put("mcc", NUMERIC.substring(0, 3)); 23 23 values.put("mnc", NUMERIC.substring(3, NUMERIC.length())); 24 24 values.put("proxy", ""); 25 25 values.put("port", ""); 26 26 values.put("mmsproxy", ""); 27 27 values.put("mmsport", ""); 28 28 values.put("user", ""); 29 29 values.put("server", ""); 30 30 values.put("password", ""); 31 31 values.put("mmsc", ""); 32 32 Cursor c = null; 33 33 // 获取新添加的apn的ID 34 34 try { 35 35 Uri newRow = resolver.insert(APN_LIST_URI, values); 36 36 if (newRow != null) { 37 37 c = resolver.query(newRow, null, null, null, null); 38 38 int idindex = c.getColumnIndex("_id"); 39 39 c.moveToFirst(); 40 40 apnId = idindex; 41 41 } 42 42 } catch (SQLException e) { 43 43 e.printStackTrace(); 44 44 } 45 45 if (c != null) 46 46 c.close(); 47 47 return apnId; 48 48 }