首先先得到当前的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;
}
分享到:
相关推荐
### Android手机修改APN不保存解决办法 #### 一、APN基础知识介绍 APN(Access Point Name,接入点名称)是移动设备访问互联网时必须配置的重要参数之一。它不仅决定了用户通过何种接入方式访问互联网,而且还关联...
"获取和修改手机当前APN" ...获取和修改手机当前 APN 需要使用 Android 提供的 ContentResolver 对象和 URI mechanism 来查询和修改 APN。同时,需要注意 APN 的状态和网络连接的稳定性,以确保手机的网络连接稳定。
本项目"android中的APN开发"显然是一个教学或示例应用,名为"MyApnDemo",旨在教给开发者如何在Android平台上创建、修改和管理APN设置。通过这个应用,开发者可以学习如何编写代码来实现以下功能: 1. **读取APN...
`MyApnDemo`可能是一个Android应用,用于演示如何通过编程方式修改和管理APN设置。以下是一些可能的代码片段: ```java // 获取APN管理器 TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_...
总结来说,本项目主要涵盖了Android中关于APN的管理,包括其创建、插入、修改和切换操作,这些都是保证设备在网络环境中顺畅运行的基础。`APNManager.java`和`APNObject.java`两个文件提供了实现这些功能的核心逻辑...
将这些条目的`type`值更改为无效的字符串,比如“none”,这样设备就不会尝试连接这些APN。 5. **保存并重启设备**:保存修改后的`apns-conf.xml`,然后重启你的设备。这样,Android系统在启动后将无法找到有效的...
- 手机彩信的配置涉及到网络连接,尤其是接入点名称(APN)的设定。 - 首先,确保设备能通过WIFI或GPRS上网,以验证网络是否正常。 - 进入手机的设置菜单,找到“无线和网络”> “移动网络设置”> “接入点名称”...
|--android 设置apn |--android 调节屏幕亮度 |--android 资源uri |--android 还原短信 |--android 重启 |--android中anim文件特效 |--app信息menifest获取(如版本号) |--AsyncQueryHandler之异步查询Cursor处理 |--...
海卓上网大师是Android手机上网冲浪的得力助手,是节省流量的利器。 1. 更加贴心的流量监控与常用开关:除必需的2G/3G、wifi的今日、本月流量统计数据和套餐进度条外,更提供了‘预计可用时间’(按当前使用速度...
**4.1 Android手机支持安装哪些格式的第三方应用程序** - 通常支持.apk格式的文件。 **4.2 如何获取第三方应用程序** - 可以通过Google Play商店或其他第三方应用市场下载。 **4.3 如何安装、管理与卸载程序** ...
以下是一个使用正则表达式来获取指定名称的查询字符串值的函数: ```javascript function GetQueryStringRegExp(name, url) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); if (reg.test(url))...