android之APN详解

来源:互联网 发布:商场广播软件 编辑:程序博客网 时间:2024/04/30 09:49

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.db e:/

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

实例代码:

复制代码
//获取所有apnUri uri = Uri.parse("content://telephony/carriers");   Cursor cr = getContentResolver().query(uri, null, null, null, null);  //遍历所有apnwhile(cr!=null && cr.moveToNext()){            // APN id           String id = cr.getString(cr.getColumnIndex("_id"));            // APN name           String apn = cr.getString(cr.getColumnIndex("apn"));          。。。。}  //获取当前apnUri uri = Uri.parse("content://telephony/carriers/preferapn");  Cursor cr = getContentResolver().query(uri, null, null, null, null);  //修改当前apnUri 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);  


转载网址:http://www.cnblogs.com/sishuiliuyun/p/3754516.html



0 0