Android 1.5 的APN设定与上网处理
来源:互联网 发布:上海市数据服务网 编辑:程序博客网 时间:2024/05/03 03:23
wap一般是这样:
- URL url = new URL("http://10.0.0.172:80/index.htm");
- HttpURLConnection hc = (HttpURLConnection) url.openConnection();
- hc.setRequestProperty("X-Online-Host", "www.csdn.net");
net一般是这样:
- URL url = new URL("http://www.csdn.net/index.htm");
- HttpURLConnection hc = (HttpURLConnection) url.openConnection();
因此,编写程序时就要检测当前的APN类型,判断是wap还是net方式,有时候可能还要修改当前的APN,都是要解决的问题。
检查当前APN:
获取所有的APN,方法是通过ContentResolver,uri地址为"content://telephony/carriers"。代码如下:
- Uri uri = Uri.parse("content://telephony/carriers");
- Cursor cr = getContentResolver().query(uri, null, null, null, null);
- while(cr!=null && cr.moveToNext()){
- // APN id
- String id = cr.getString(cr.getColumnIndex("_id"));
- // APN name
- String apn = cr.getString(cr.getColumnIndex("apn"));
- // do other things...
- }
里面的 _id 和 apn 是什么?这个是系统存储apn的数据库中的字段。系统把所有的apn都保存在数据库中,数据库在:/data/data/com.android.providers.telephony/databases/telephony.db。把你的G3连上电脑,使用adb命令:
adb pull /data/data/com.android.providers.telephony/databases/telephony.db f:/
把它弄出来看看。(同目录下还有个mmssms.db,是存储短信的数据库)
里面有200多个apn,只有current为1的才会在手机的apn设置里面显示出来。数据库的各个字段对应了系统设置里面的各项。上面代码里面cr.getString(cr.getColumnIndex("_id"))就是取一个apn的_id了,同理可以取出其他需要的字段。
但是我们这些还没什么用,我们要的是当前所用的apn。
获取当前所使用的apn的uri地址为:"content://telephony/carriers/preferapn"。代码同上,替换uri后再取,发现取出来的只有一个,这个就是当前所使用的apn了,就是系统设置里面apn列表中后面那个小圆圈被选中的那个apn。
这个apn系统保存在一个xml文件里,地址为:/data/data/com.android.providers.telephony/shared_prefs/preferred-apn.xml 。同样可以取出这个文件打开看看,里面内容很简单:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
- 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);
- Android 1.5 的APN设定与上网处理
- Android 1.5 的APN设定与上网处理
- Android 1.5 的APN设定与上网处理
- Android 1.5 的APN设定与上网处理
- Android 1.5 的APN设定与上网处理
- Android 1.5 的APN设定与上网处理
- Android 1.5 的APN设定与上网处理
- Android APN设定与上网处理
- Android手机通过APN设置上网的方法
- Android手机上网、彩信APN设置
- Android手机上网、彩信APN设置 .
- Android手机上网、彩信APN设置
- android 上网 (一)-- apn切换拨号
- android 上网 (二)-- apn切换拨号
- Android手机上网、彩信APN设置
- ANDROID的APN设置
- ANDROID的APN设置
- Android手机APN设置(中国移动 联通3G 电信天翼),解决不能上网的问题
- C#面试分享,感谢原创
- Android新浪微博-项目整理总结 一[创建新项目]
- struts标签
- SSH登陆错误 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
- Introducing Akka – Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Actors
- Android 1.5 的APN设定与上网处理
- ARCHIVELOG模式下用户管理的不完全恢复(1)——基于时间点的不完全恢复!
- 程序员应该学习一下Python或Ruby
- Tokyo Cabinet与Tokyo Tyrant 开篇
- php.ini 核心配置选项说明
- POJ-2983 用SPFA求解差分约束..
- 编程技术面试的五大要点
- rman学习资料
- Android handler用法详解一(概念解释)