android之APN

时间:2014-05-28 22:27:09   收藏:0   阅读:325

APN全称是Access Point Name,中文即接入点,是通过手机上网时必须配置的一个参数,它决定了手机通过哪种接入方式来访问网络。

 

android系统把所有的APN都保存在数据库中,数据库绝对路径:/data/data/com.android.providers.telephony/databases/telephony.db。

使用adb命令可以把该数据库导出查看:

bubuko.com,布布扣
adb pull /data/data/com.android.providers.telephony/databases/telephony.db e:/
bubuko.com,布布扣

获取所有的APN的uri地址为"content://telephony/carriers"。

获取当前使用APN的uri地址为"content://telephony/carriers/preferapn"。

 

android当前apn保存在一个xml文件里,绝对路径:/data/data/com.android.providers.telephony/shared_prefs/preferred-apn.xml 。

使用命令导出查看:

bubuko.com,布布扣
adb pull /data/data/com.android.providers.telephony/shared_prefs/preferred-apn.xml e:/
bubuko.com,布布扣

内容如下:

bubuko.com,布布扣
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>

        <map>
              <long name="apn_id" value="2" />
    </map>
bubuko.com,布布扣

实例代码:

bubuko.com,布布扣
//获取所有apn

Uri uri = Uri.parse("content://telephony/carriers");   

Cursor cr = getContentResolver().query(uri, null, null, null, null);  

//遍历所有apn

while(cr!=null && cr.moveToNext()){       

     // APN id      

     String id = cr.getString(cr.getColumnIndex("_id"));       

     // APN name      

     String apn = cr.getString(cr.getColumnIndex("apn"));     

     。。。。

}  



//获取当前apn

Uri uri = Uri.parse("content://telephony/carriers/preferapn");  

Cursor cr = getContentResolver().query(uri, null, null, null, null);  



//修改当前apn

Uri uri = Uri.parse("content://telephony/carriers/preferapn");  


ContentResolver resolver = getContentResolver();

ContentValues values = new ContentValues();  

values.put("apn_id", id);  

resolver.update(uri, values, null, null);  
bubuko.com,布布扣

 

 

本文转自:http://blog.163.com/yimigao@126/blog/static/6715605020114234013308/

android之APN,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!