Android APN设置接口
APN(Access Point Name),即“接入点名称”,用来标识GPRS的业务种类,目前分为两大类:CMWAP(通过GPRS访问WAP业务)、CMNET(除了WAP以外的服务目前都用CMNET,比如连接因特网等)。在做项目的时候,客户会要求更换APN,我在frameworks/base/services/core/java/com/android/server/customized/CustomizedService.java中实现了这些接口,下面我把APN的接口展示如下:
public List selectAPN(String mNumeric){String where = "numeric=\"" + mNumeric + "\"";List l=new ArrayList();Cursor cr = mContext.getContentResolver().query(mUri, null, where, null, null);while(cr != null && cr.moveToNext()){ContentValues values = new ContentValues();values.put("id", cr.getString(cr.getColumnIndex("_id")));values.put("name", cr.getString(cr.getColumnIndex("name")));values.put("numeric", cr.getString(cr.getColumnIndex("numeric")));values.put("mcc", cr.getString(cr.getColumnIndex("mcc")));values.put("mnc", cr.getString(cr.getColumnIndex("mnc")));values.put("apn", cr.getString(cr.getColumnIndex("apn")));values.put("user", cr.getString(cr.getColumnIndex("user")));values.put("server", cr.getString(cr.getColumnIndex("server")));values.put("password", cr.getString(cr.getColumnIndex("password")));values.put("proxy", cr.getString(cr.getColumnIndex("proxy")));values.put("prot", cr.getString(cr.getColumnIndex("port")));values.put("authtype", cr.getString(cr.getColumnIndex("authtype")));values.put("type", cr.getString(cr.getColumnIndex("server")));l.add(values);}return l;} public int deleteAPN(String id){return mContext.getContentResolver().delete(mUri, "_id=" + id, null);}public int addAPN(String name,String numeric,String mcc,String mnc,String apn,String user,String server,String password,String proxy,String port,String authtype,String type){int id = -1;ContentValues values = new ContentValues();values.put("name", name);values.put("apn", apn);values.put("type", type);values.put("numeric", numeric);values.put("mcc", mcc);values.put("mnc", mnc); values.put("port", port);values.put("proxy", proxy);values.put("user", user);values.put("server", server);values.put("password", password);values.put("authtype", authtype);Cursor c = null;Uri newRow = mContext.getContentResolver().insert(mUri, values);if (newRow != null) {c = mContext.getContentResolver().query(newRow, null, null, null, null);int idIndex = c.getColumnIndex("_id");c.moveToFirst();id = c.getShort(idIndex);}if (c != null)c.close();return id;}public int updateAPN(String id,String name,String numeric,String mcc,String mnc,String apn,String user,String server,String password,String proxy,String port,String authtype,String type){ContentValues values = new ContentValues();int idback=-1;String where = "_id=\"" + id + "\"";values.put("name", name);values.put("apn", apn);values.put("type", type);values.put("numeric", numeric);values.put("mcc", mcc);values.put("mnc", mnc); values.put("port", port);values.put("proxy", proxy);values.put("user", user);values.put("server", server);values.put("password", password);values.put("authtype", authtype);idback=mContext.getContentResolver().update(mUri, values, where, null);return idback;} public void setDefalutApn(String id) { ContentValues values = new ContentValues();values.put("apn_id", id);mContext.getContentResolver().update(Uri.parse(PREFERRED_APN_URI), values, null, null);}
接口实现如上,该导入的包不要忘记了~
Android APN设置接口相关推荐
- Android APN设置
Android APN设置 概述 Apn设置,即"接入点名称"设置,Apn的全称是Access PointName,是用户在通过手机上网时必须配置的一个参数,它决定了您的手机通过哪 ...
- Android APN设置及获得手机号
目前供职于电信,只做电信的业务,故列表中只有电信的APN信息 [java] view plaincopy /** * 电信APN列表 * @author wudongdong * */ public ...
- Android APN设置 获取APN列表
转自:http://blog.csdn.net/skiffloveblue/article/details/7920655 由于Android对于APN的网络API没有公开,不过我们可以阅读源代码,然 ...
- Android APN的设置问题 默认“已起用数据” 关闭
说明: (1),参考:http://myqdroid.blog.51cto.com/2057579/389134 (2),应用的到程序 android2.3.4_GB_T34H\build\core\ ...
- Android APN的设置问题
Android APN的设置问题 推荐 原创yqmiao2010-09-08 16:23:20评论(16)24325人阅读 1.问题的引入 在android源码,成功执行了make 和 make sd ...
- Android代码设置APN
转载:https://blog.csdn.net/Anmmei/article/details/77461530 亲测有效 ------ 2020.12.31. 什么是APN? APN(Access ...
- Android手机上网、彩信APN设置
Android手机上网.彩信APN设置 Godaddy最新域名优惠码 - 帅哥推荐博客主机 - linost圣诞促销返款 - iPhone4销售状态查询 前几天师弟跑来问我G2(Magic)怎么 ...
- Android 恢复出厂设置接口说明
以下两种恢复出厂设置方案适用于8.0以上平台 方案一,主要是采用intent广播接口方式. 方案二,主要是直接调引用RecoverySystem类. 两种方案均验证有效. 方案一: // 对应hide ...
- wemall app商城源码Android之支付宝接口公用函数
wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android之 ...
最新文章
- ZooKeeper伪分布式集群安装及使用
- 1.4 Padding-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
- error_reporting()
- 40、使用javassit操作运行时字节码文件
- C语言宏定义取得两数的最大值和最小值
- 特征筛选1——根据方差筛选(单变量筛选)
- Flink的Socket案例
- citrix4.5无法进入发布程序界面The supplied credentials could not be validated
- SQL学习笔记之游标
- 初识Lazarus和Free Pascal Compiler
- VS2012安装教程
- vue-cli3+electron+serialport实现串口通信,收银系统对接电子秤
- 手机app测试方法(一)基本流程
- FTP协议 与 FXP协议区别
- 2021年全球与中国油管线轴行业市场规模及发展前景分析
- SQL server 身份验证
- 今日睡眠质量记录79
- [渝粤教育] 中国地质大学 生产与作业管理 复习题 (2)
- 联合概率,边际概率和条件概率
- Java SSM外卖跑腿系统
热门文章
- Android程序员必备的六大顶级开发工具,快加入你的清单!
- Linux网络管理以及端口聚合详解
- 日本社交游戏郭锋:CA子公司Cygames在美国AppStore的Rage of Bahamut进入TopSells钱10位,该游戏在play上也排在前面。其日文版“神击Bahamut”在日本Moba
- 异丁酰氯(CAS 79-30-1)的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 量子计算机会揭开意识之谜,生命、宇宙、万物——42个基本大问题
- Seurat4.0系列教程8:细胞周期评分和回归分析
- 【python】BaiDuAI-人脸检测、人脸搜索、人脸注册
- nodejs实现新闻爬虫
- RocketMQ (六) 主题-Topic
- 【补题计划】Codeforces Round #533+#534(Div.2)