android APN知识讲解


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

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

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

    adb pull /data/data/com.android.providers.telephony/databases/telephony.dbe:/

获取所有的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 。

使用命令导出查看:

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

内容如下:

     <?xml version="1.0" encoding="utf-8" standalone="yes" ?>

        < map >
               < long  name =" apn_id "  value =" 2 " />

    </map>


实例代码:

//获取所有apn

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

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

//遍历所有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, nullnullnullnull);  


//修改当前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, nullnull);  

 

转载 : http://hi.baidu.com/yimifeitian/blog/item/22e70894ed8be11f7af4808f.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值