android 设置APN
来源:互联网 发布:java 文件md5校验码 编辑:程序博客网 时间:2024/05/19 19:15
android4.0之后,需要系统签名,并把apk放在system/app下面
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" > </uses-permission> <uses-permission android:name="android.permission.WRITE_APN_SETTINGS" > </uses-permission> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
package com.lenovo.testapn;import android.app.Activity;import android.content.ContentResolver;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.net.Uri;import android.os.Bundle;import android.telephony.TelephonyManager;import android.util.Log;import android.view.Menu;public class MainActivity extends Activity {private static final String TAG = "MainActivity";public static final Uri APN_URI = Uri.parse("content://telephony/carriers");// public static final Uri PREFERRED_APN_URI// =Uri.parse("PREFERRED_APN_URI PREFERRED_APN_URI ");public static final Uri CURRENT_APN_URI = Uri.parse("content://telephony/carriers/preferapn");@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Log.d(TAG, "onCreate");checkAPN();// SetAPN(addAPN());}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.activity_main, menu);return true;}public void checkAPN() {// 检查当前连接的APNCursor cr = getContentResolver().query(APN_URI, null, null, null, null);Log.d(TAG, "cr" + cr);while (cr != null && cr.moveToNext()) {// if(cr.getString(cr.getColumnIndex("_id")))// APN idString id = cr.getString(cr.getColumnIndex("_id"));Log.d(TAG, "id" + id);//String apn_id= cr.getString(cr.getColumnIndex("apn_id"));////Log.d(TAG, "apn_id" + apn_id);// APN nameString apn = cr.getString(cr.getColumnIndex("apn"));Log.d(TAG, apn);// Toast.makeText(getApplicationContext(),// "当前 id:" + id + " apn:" + apn, Toast.LENGTH_LONG).show();}}// 新增一个cmnet接入点public int addAPN() {int id = -1;Log.d(TAG, "添加一个新的apn");String NUMERIC = getSIMInfo();Log.d(TAG, "NUMERIC" + NUMERIC);if (NUMERIC == null) {return -1;}ContentResolver resolver = this.getContentResolver();ContentValues values = new ContentValues();SIMCardInfo siminfo = new SIMCardInfo(MainActivity.this);// String user = siminfo.getNativePhoneNumber().substring(start);values.put("name", "专用APN"); // apn中文描述values.put("apn", "myapn"); // apn名称values.put("type", "default,supl");values.put("numeric", NUMERIC);values.put("mcc", NUMERIC.substring(0, 3));values.put("mnc", NUMERIC.substring(3, NUMERIC.length()));values.put("proxy", "");values.put("port", "");values.put("mmsproxy", "");values.put("mmsport", "");values.put("user", "");values.put("server", "");values.put("password", "");values.put("mmsc", "");Cursor c = null;Uri newRow = resolver.insert(APN_URI, values);if (newRow != null) {c = resolver.query(newRow, null, null, null, null);int idIndex = c.getColumnIndex("_id");c.moveToFirst();id = c.getShort(idIndex);}if (c != null)c.close();return id;}protected String getSIMInfo() {TelephonyManager iPhoneManager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);return iPhoneManager.getSimOperator();}// 设置接入点public void SetAPN(int id) {ContentResolver resolver = this.getContentResolver();ContentValues values = new ContentValues();values.put("apn_id", id);resolver.update(CURRENT_APN_URI, values, null, null);// resolver.delete(url, where, selectionArgs)}}
- Android 编程设置 APN
- ANDROID的APN设置
- android 设置APN
- ANDROID的APN设置
- android 设置APN
- android 设置apn
- Android代码设置APN
- android 设置apn
- Android APN设置 获取APN列表
- Android APN设置 获取APN列表
- android 单卡apn 双卡双待apn设置
- Android APN设置 获取APN列表
- 轻松搞定 android apn 设置
- Android APN的设置问题
- Android APN的设置问题
- apn设置
- Android下代码实现APN管理设置
- Android下代码实现APN管理设置
- 快速排序算法代码实现
- iCloud上传备份和下载的Demo
- 杭电4143
- 【问题解决】在C#中使用C++编写的类 使用托管c++(managed c++)
- 《Android内核剖析》读书笔记 第3章 源码下载及开发环境配置
- android 设置APN
- varnish使用汇总
- iOS的编码格式
- 一个抓取网页解析内容的程序。
- JSP网页编程初解(三)
- 压缩与解压2---文件的压缩
- Hive HBase 集群整合
- Android程序连接Delphi DataSnap服务器
- 收藏的网页--素材资料下载(free)