public class ApnUtil {<br />private static Uri PREFERRED_APN_URI = Uri<br />.parse("content://telephony/carriers/preferapn");<br /> public static final String APN_ID = "apn_id";<br /> private static final int ID_INDEX = 0;</p><p>/**<br /> * get apntype<br /> * @param context<br /> * @return<br /> */<br />public static String getApnType(Context context){<br />String apntype="nomatch";<br />Cursor c = context.getContentResolver().query(PREFERRED_APN_URI,<br />null, null, null, null);<br />if(c != null && c.getCount() >= 1){<br />c.moveToFirst();<br />String user=c.getString(c.getColumnIndex("user"));<br />if(user.startsWith(APNNET.CTNET)){<br />apntype=APNNET.CTNET;<br />}else if(user.startsWith(APNNET.CTWAP)){<br />apntype=APNNET.CTWAP;<br />}<br />}<br />c.close();<br />return apntype;<br />}</p><p> public static void setSelectedApnKey(Context context,String key) {<br /> ContentResolver resolver = context.getContentResolver();<br /> ContentValues values = new ContentValues();<br /> values.put(APN_ID, key);<br /> resolver.update(PREFERRED_APN_URI, values, null, null);<br /> }<br />}
另外要加上APN更改許可權
<uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />