在源码上二次开发,想获得当前APN,方法如下:
public String getApn(){
ConnectivityManager cm =(ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
String apn = ni.getExtraInfo();
return apn;
测试结果在模拟器上可以得出Apn,而真机测试确实报空指针异常。
小弟愚钝,有高手能告知为什么吗?不胜感激!
public String getApn(){
ConnectivityManager cm =(ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
String apn = ni.getExtraInfo();
return apn;
测试结果在模拟器上可以得出Apn,而真机测试确实报空指针异常。
小弟愚钝,有高手能告知为什么吗?不胜感激!
Cursor cr = context1.getContentResolver().query(APN_TABLE_URI, null, "current=1", null, null);
mStrings = new String[cr.getCount()];
int i = 0;
while (cr != null && cr.moveToNext()) {
mStrings[i] = "ID:" + cr.getString(cr.getColumnIndex("_id")) + "\n" + "name:"
+ cr.getString(cr.getColumnIndex("name")) + "\n" + "numeric:"
+ cr.getString(cr.getColumnIndex("numeric")) + "\n" + "mcc:"
+ cr.getString(cr.getColumnIndex("mcc")) + "\n" + "mnc:"
+ cr.getString(cr.getColumnIndex("mnc")) + "\n" + "apn:"
+ cr.getString(cr.getColumnIndex("apn")) + "\n" + "user:"
+ cr.getString(cr.getColumnIndex("user")) + "\n" + "server:"
+ cr.getString(cr.getColumnIndex("server")) + "\n" + "password:"
+ cr.getString(cr.getColumnIndex("password")) + "\n" + "proxy:"
+ cr.getString(cr.getColumnIndex("proxy")) + "\n" + "port:"
+ cr.getString(cr.getColumnIndex("port")) + "\n" + "mmsproxy:"
+ cr.getString(cr.getColumnIndex("mmsproxy")) + "\n" + "mmsport:"
+ cr.getString(cr.getColumnIndex("mmsport")) + "\n" + "mmsc:"
+ cr.getString(cr.getColumnIndex("mmsc")) + "\n" + "authtype:"
+ cr.getString(cr.getColumnIndex("authtype")) + "\n" + "type:"
+ cr.getString(cr.getColumnIndex("type")) + "\n" + "current:"
+ cr.getString(cr.getColumnIndex("current")) + "\n"
+"-------------------------"+ "\n";}