`
wangxizhao
  • 浏览: 31644 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android之APN管理

阅读更多

public class ApnSetting extends Activity {
 
         String TAG = "APNSetting";
         //创建新APN时和查找APN列表时使用的URI
         private Uri  createApnUri = Uri.parse("content://telephony/carriers");
         //设置默认接入点时使用的URI
         private Uri  preferapnUri = Uri.parse("content://telephony/carriers/preferapn");
 
         private TextView textView = null;
 
         private Button button = null;
 
           @Override
           public void onCreate(Bundle savedInstanceState) {
                    super.onCreate(savedInstanceState);
                    setContentView(R.layout.main);
                    button = (Button) findViewById(R.id.Button01);
                    button.setOnClickListener(new OnClickListener(){

               public void onClick(View arg0) {
                    createApn();
                    showApnList();
                 }
                });
        
                textView = (TextView) findViewById(R.id.TextView01);
            }
   
         protected void createApn() {
              // TODO Auto-generated method stub
  
              ContentValues values  = new ContentValues();
              values.put("name", "CMCC CMWAP_test");
              values.put("apn", "CMWAP_test");
              values.put("proxy", "192.168.1.199");
              values.put("port", "83");
  
              /**
               * 在真机上使用
               */
            //  values.put("mcc", "310");
            //  values.put("mnc", "995");
            //  values.put("numeric", "310995");
  
              /**
               * 在模拟器上使用
               */
              values.put("mcc", "310");
              values.put("mnc", "260");
              values.put("numeric", "310260");
  
              Uri iuri =  getContentResolver().insert(createApnUri, values);
              this.textView.setText("getSchema:"+iuri.getScheme()+"/getPath:"+iuri.getPath());  
              int id = showApnInfo(iuri);
              setDefaultApn(id);
         }


         /**
          * 设置默认APN
          * @param id
          */
         private void setDefaultApn(int id) {
              // TODO Auto-generated method stub
              ContentResolver cr = getContentResolver();
              ContentValues cv = new ContentValues();
              cv.put("apn_id", id);
  
              try {
                   cr.update(preferapnUri, cv, null, null);
              } catch (Exception e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              }
  
         }


         /**
          * 显示APN信息
          * @return
          */
         private int showApnInfo(Uri uri) {
              // TODO Auto-generated method stub
              String text = "";
              int id = -1;
              Cursor c = this.getContentResolver().query(uri, null, null, null, null);
              if(c!=null){
                   int colCount = c.getColumnCount();
                   int idIndex = c.getColumnIndex("_id");
                   c.moveToFirst();
                   id = c.getShort(idIndex);
                    for(int j = 0;j<colCount;j++){
                         text+=c.getString(j)+"|";
                    }
                    c.close();
                   }
               return id;
              }


        private void showApnList() {
              // TODO Auto-generated method stub
  
              Cursor c = this.getContentResolver().query(createApnUri, null, null, null, null);
              if(c!=null){
                   int rowCount = c.getCount();
                   int colCount = c.getColumnCount();
                   c.moveToFirst();
                   for(int i = 0;i<rowCount;i++){
                    for(int j = 0;j<colCount;j++){
                      Log.d(TAG, c.getColumnName(j)+"|||"+c.getString(j));
                }
            c.moveToNext();
           }
           c.close();
          }
     }
}

1
0
分享到:
评论

相关推荐

    Android扫盲教程大全经典教程全分享

    Android扫盲2之桌面管理 Android扫盲3之添加删除联系人 Android扫盲4之蓝牙,无线网络,APN接入点相关 Android扫盲5之设置个性短信和来电铃声 Android扫盲6之Android如何切换为U盘 Android扫盲7之彩信图片的存储 ...

    手机流量监测仪 v2.0 For Android.zip

    全面APN管理,一键创建、备份、恢复APN,APN切换(NET/WAP)。 使用的时候请先设置流量上限和统计周期。 手机流量监测仪 v2.0 For Android更新内容: 1.优化通知栏展现,流量、网速一目了然 2.增加通知栏文字颜色...

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

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

    Java版水果管理系统源码-HopesUtils:安卓工具类集合,持续更新中,欢迎补充

    Java版水果管理系统源码 HopesUtils,安卓常见问题处理集合及工具类 --Activity不允许横竖屏切换 |--Activity常用小技巧 |--Activity按返回直接回到桌面 |--aidl之结合反射获取应用缓存大小等空间占用 |--aidl调用...

    net-core-push-notifications:适用于Android和iOS的.NET Core推送通知

    CorePush-.NET Core Android Firebase(FCM)和Apple iOS JWT HTTP / 2推送通知(APN) 简单的.NET Core库,用于使用JWT HTTP / 2 API发送Android Firebase(FCM)和iOS(APN)的推送通知。 重要提示:需要.NET ...

    海外运营商准入NFC测试标准GSMA TS.27

    GSMA TS.27是海外运营商颁布的NFC测试要求,包含了NFC Forum,OMAPI,GPAC,Android API,APN管理等测试要求内容

    安卓调谐器 v1.0.1.zip

    安卓调谐器Android Tuner:功能很强大的一个东西,只是大家使用的时候要注意,很多关键系统功能很有可能被误操作改掉了。   安卓调谐器说明:  安卓调谐器Android Tuner是一款应用合集,合并了Battery 显示器 ...

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

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

    安卓系统调谐器

    安卓调谐器3C Toolbox(Android Tuner)是款应用合集,合并了电量显示器小部件、系统调整和多任务切换小部件等。...- 开启/关闭 APN、 蓝牙发现、 GPS 和 WiFi本地化 - 可测试和调整SD卡读取速度,支持内存详细分析

    3C Toolbox Pro 1.9.9.7.6C.apk

    ◊Android的内存管理器,内存清理,SD连接器(目录粘合剂) ◊FSYNC,sweep2wake,γ和快速充电控制 ◊安全:恢复从应用程序或恢复和CPU设置默认的启动环 ►系统监控 ◊所有的Android应用程序或全部进程,电池,CPU...

    Uniapp全源可二开即时通讯APPIM聊天APP社交APP 安卓 苹果APP PC端 H5四合一源码通讯软件

    支持@用户、支持发群公告等,支持扫码入群,支持设置好友备注、群名片、消息置顶、消息免打扰、邀请好友直接进群等,支持关键词屏蔽,支持消息离线推送(ios无需上架,但是签名需支持push,通过APN推送,Android需要...

    push-service:APN 和 GCM 推送服务的直接 RESTful 接口

    Tart Push Service 是一个推送通知管理系统,开发用于向多个应用程序提供推送通知。 Tart Push Service 能够以透明的方式向 Android 和 IOS 设备发送推送通知。 安装 克隆存储库。 运行npm install 并运行./bin/...

    安卓网络设置手机优化大师,

    大家是不是愁新买的android手机上不了网?有了它就简单了,首先打开-快捷设置-高级设置-还原接入点-就可以了。如果不上网了打开-节电管理-节电优化-移动网络(APN)勾去掉就好了

    push-plugin-cordova-phonegap:CordovaPhoneGap 的推送插件

    Cordova 的 Infobip 推送通知插件 Infobip Push 是 Infobip Ltd... 按照“APN 设置手册”部分中的说明管理证书。 基本用法 初始化 将插件添加到项目后,您将能够在 JavaScript 代码中将其用作push 。 您应该做的第一件

Global site tag (gtag.js) - Google Analytics