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设置接口相关推荐

  1. Android APN设置

    Android APN设置 概述 Apn设置,即"接入点名称"设置,Apn的全称是Access PointName,是用户在通过手机上网时必须配置的一个参数,它决定了您的手机通过哪 ...

  2. Android APN设置及获得手机号

    目前供职于电信,只做电信的业务,故列表中只有电信的APN信息 [java] view plaincopy /** * 电信APN列表 * @author wudongdong * */ public  ...

  3. Android APN设置 获取APN列表

    转自:http://blog.csdn.net/skiffloveblue/article/details/7920655 由于Android对于APN的网络API没有公开,不过我们可以阅读源代码,然 ...

  4. Android APN的设置问题 默认“已起用数据” 关闭

    说明: (1),参考:http://myqdroid.blog.51cto.com/2057579/389134 (2),应用的到程序 android2.3.4_GB_T34H\build\core\ ...

  5. Android APN的设置问题

    Android APN的设置问题 推荐 原创yqmiao2010-09-08 16:23:20评论(16)24325人阅读 1.问题的引入 在android源码,成功执行了make 和 make sd ...

  6. Android代码设置APN

    转载:https://blog.csdn.net/Anmmei/article/details/77461530 亲测有效 ------ 2020.12.31. 什么是APN? APN(Access ...

  7. Android手机上网、彩信APN设置

    Android手机上网.彩信APN设置 Godaddy最新域名优惠码 -  帅哥推荐博客主机 -  linost圣诞促销返款 -  iPhone4销售状态查询 前几天师弟跑来问我G2(Magic)怎么 ...

  8. Android 恢复出厂设置接口说明

    以下两种恢复出厂设置方案适用于8.0以上平台 方案一,主要是采用intent广播接口方式. 方案二,主要是直接调引用RecoverySystem类. 两种方案均验证有效. 方案一: // 对应hide ...

  9. wemall app商城源码Android之支付宝接口公用函数

    wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android之 ...

最新文章

  1. ZooKeeper伪分布式集群安装及使用
  2. 1.4 Padding-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  3. error_reporting()
  4. 40、使用javassit操作运行时字节码文件
  5. C语言宏定义取得两数的最大值和最小值
  6. 特征筛选1——根据方差筛选(单变量筛选)
  7. Flink的Socket案例
  8. citrix4.5无法进入发布程序界面The supplied credentials could not be validated
  9. SQL学习笔记之游标
  10. 初识Lazarus和Free Pascal Compiler
  11. VS2012安装教程
  12. vue-cli3+electron+serialport实现串口通信,收银系统对接电子秤
  13. 手机app测试方法(一)基本流程
  14. FTP协议 与 FXP协议区别
  15. 2021年全球与中国油管线轴行业市场规模及发展前景分析
  16. SQL server 身份验证
  17. 今日睡眠质量记录79
  18. [渝粤教育] 中国地质大学 生产与作业管理 复习题 (2)
  19. 联合概率,边际概率和条件概率
  20. Java SSM外卖跑腿系统

热门文章

  1. Android程序员必备的六大顶级开发工具,快加入你的清单!
  2. Linux网络管理以及端口聚合详解
  3. 日本社交游戏郭锋:CA子公司Cygames在美国AppStore的Rage of Bahamut进入TopSells钱10位,该游戏在play上也排在前面。其日文版“神击Bahamut”在日本Moba
  4. 异丁酰氯(CAS 79-30-1)的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  5. 量子计算机会揭开意识之谜,生命、宇宙、万物——42个基本大问题
  6. Seurat4.0系列教程8:细胞周期评分和回归分析
  7. 【python】BaiDuAI-人脸检测、人脸搜索、人脸注册
  8. nodejs实现新闻爬虫
  9. RocketMQ (六) 主题-Topic
  10. 【补题计划】Codeforces Round #533+#534(Div.2)