`
kongdesheng
  • 浏览: 35991 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

如何修改android手机apn的值

 
阅读更多

首先先得到当前的apn..对当前的APN进行判断

String resultApn = getCurrentAPNFromSetting(getContentResolver());
     if (!resultApn.equals("")) {
      if (!resultApn.equals("cmwap")) {
       int apnCode = updateCurrentAPN(
         getContentResolver(), "cmwap");
      }

}

然后在修改APN为你想要的模式,apnCode的值为1则修改成功!本地测试通过...
/**
  * 得到当前的apn
  *
  * @param resolver
  * @return
  */
 public static String getCurrentAPNFromSetting(ContentResolver resolver) {
  Cursor cursor = null;
  try {
   cursor = resolver.query(CURRENT_APN_URI, null, null, null, null);
   String curApnId = null;
   if (cursor != null && cursor.moveToFirst()) {
    curApnId = cursor.getString(cursor.getColumnIndex("_id"));
    String apnName1 = cursor
      .getString(cursor.getColumnIndex("apn"));
   }
   cursor.close();
   // find apn name from apn list
   if (curApnId != null) {
    cursor = resolver.query(APN_LIST_URI, null, " _id = ?",
      new String[] { curApnId }, null);
    if (cursor != null && cursor.moveToFirst()) {
     String apnName = cursor.getString(cursor
       .getColumnIndex("apn"));
     return apnName;
    }
   }

  } catch (SQLException e) {
  } finally {
   if (cursor != null) {
    cursor.close();
   }
  }

  return null;
 }

 /**
  * 修改当年的apn
  *
  * @param resolver
  * @param newAPN
  * @return
  */
 public static int updateCurrentAPN(ContentResolver resolver, String newAPN) {
  Cursor cursor = null;
  try {
   // get new apn id from list
   cursor = resolver.query(APN_LIST_URI, null,
     " apn = ? and current = 1",
     new String[] { newAPN.toLowerCase() }, null);
   String apnId = null;
   if (cursor != null && cursor.moveToFirst()) {
    apnId = cursor.getString(cursor.getColumnIndex("_id"));
   }
   cursor.close();

   // set new apn id as chosen one
   if (apnId != null) {
    ContentValues values = new ContentValues();
    values.put("apn_id", apnId);
    resolver.update(CURRENT_APN_URI, values, null, null);
   } else {
    // apn id not found, return 0.
    return 0;
   }
  } catch (SQLException e) {

  } finally {
   if (cursor != null) {
    cursor.close();
   }
  }

  // update success
  return 1;
 }

分享到:
评论

相关推荐

    [Mark安卓教程]Android手机修改APN不保存解决办法.pdf

    ### Android手机修改APN不保存解决办法 #### 一、APN基础知识介绍 APN(Access Point Name,接入点名称)是移动设备访问互联网时必须配置的重要参数之一。它不仅决定了用户通过何种接入方式访问互联网,而且还关联...

    获取和修改手机当前APN

    "获取和修改手机当前APN" ...获取和修改手机当前 APN 需要使用 Android 提供的 ContentResolver 对象和 URI mechanism 来查询和修改 APN。同时,需要注意 APN 的状态和网络连接的稳定性,以确保手机的网络连接稳定。

    android中的APN开发

    本项目"android中的APN开发"显然是一个教学或示例应用,名为"MyApnDemo",旨在教给开发者如何在Android平台上创建、修改和管理APN设置。通过这个应用,开发者可以学习如何编写代码来实现以下功能: 1. **读取APN...

    android 设置apn

    `MyApnDemo`可能是一个Android应用,用于演示如何通过编程方式修改和管理APN设置。以下是一些可能的代码片段: ```java // 获取APN管理器 TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_...

    设置APN节点,并切换到当前节点

    总结来说,本项目主要涵盖了Android中关于APN的管理,包括其创建、插入、修改和切换操作,这些都是保证设备在网络环境中顺畅运行的基础。`APNManager.java`和`APNObject.java`两个文件提供了实现这些功能的核心逻辑...

    禁用数据流量

    将这些条目的`type`值更改为无效的字符串,比如“none”,这样设备就不会尝试连接这些APN。 5. **保存并重启设备**:保存修改后的`apns-conf.xml`,然后重启你的设备。这样,Android系统在启动后将无法找到有效的...

    手机彩信.doc

    - 手机彩信的配置涉及到网络连接,尤其是接入点名称(APN)的设定。 - 首先,确保设备能通过WIFI或GPRS上网,以验证网络是否正常。 - 进入手机的设置菜单,找到“无线和网络”> “移动网络设置”> “接入点名称”...

    黑马程序员 安卓学院 万元哥项目经理 分享220个代码实例

    |--android 设置apn |--android 调节屏幕亮度 |--android 资源uri |--android 还原短信 |--android 重启 |--android中anim文件特效 |--app信息menifest获取(如版本号) |--AsyncQueryHandler之异步查询Cursor处理 |--...

    海卓上网大师 For Android v1.4.6.zip

    海卓上网大师是Android手机上网冲浪的得力助手,是节省流量的利器。  1. 更加贴心的流量监控与常用开关:除必需的2G/3G、wifi的今日、本月流量统计数据和套餐进度条外,更提供了‘预计可用时间’(按当前使用速度...

    华为C8600华为C8500全攻略之高手进阶篇

    **4.1 Android手机支持安装哪些格式的第三方应用程序** - 通常支持.apk格式的文件。 **4.2 如何获取第三方应用程序** - 可以通过Google Play商店或其他第三方应用市场下载。 **4.3 如何安装、管理与卸载程序** ...

    28个常用JavaScript方法代码块

    以下是一个使用正则表达式来获取指定名称的查询字符串值的函数: ```javascript function GetQueryStringRegExp(name, url) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); if (reg.test(url))...

Global site tag (gtag.js) - Google Analytics