Android GPRS的自动打开与关闭
来源:互联网 发布:小甲鱼python电子书 编辑:程序博客网 时间:2024/04/27 15:19
本例中需要的权限:
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
- <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
本例子中的GPRS打开与关闭是自动的, 不会出现系统那个手动GPRS设置界面。
Android中GPRS的打开和关闭比较难搞, 因为它没有专门的方法提供给你。 GPRS打开与关闭的方法都在framework, 所以我们要调用framework里的方法来操作GPRS开关。
需要调用的方法:
1. getMobileDataEnabled 检查GPRS是否开启
2. setMobileDataEnabled 设置GPRS开关
首先我们需要声明一个网络链接相关操作类
[java]
private ConnectivityManager mCM;
在初始化中实例化
[java]
mCM = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
接下来用到了三个自定义的方法
gprsIsOpenMethod 是从framework中取得getMobileDataEnabled这个方法, 主要用来检测GPRS是否打开
setGprsEnabled 取得setMobileDataEnabled方法, 用来打开或关闭GPRS
在这里我们只要调用grpsEnabled即可。
- //打开或关闭GPRS
- private boolean gprsEnabled(boolean bEnable)
- {
- Object[] argObjects = null;
- boolean isOpen = gprsIsOpenMethod("getMobileDataEnabled");
- if(isOpen == !bEnable)
- {
- setGprsEnable("setMobileDataEnabled", bEnable);
- }
- return isOpen;
- }
- //检测GPRS是否打开
- private boolean gprsIsOpenMethod(String methodName)
- {
- Class cmClass = mCM.getClass();
- Class[] argClasses = null;
- Object[] argObject = null;
- Boolean isOpen = false;
- try
- {
- Method method = cmClass.getMethod(methodName, argClasses);
- isOpen = (Boolean) method.invoke(mCM, argObject);
- } catch (Exception e)
- {
- e.printStackTrace();
- }
- return isOpen;
- }
- //开启/关闭GPRS
- private void setGprsEnabled(String methodName, boolean isEnable)
- {
- Class cmClass = mCM.getClass();
- Class[] argClasses = new Class[1];
- argClasses[0] = boolean.class;
- try
- {
- Method method = cmClass.getMethod(methodName, argClasses);
- method.invoke(mCM, isEnable);
- } catch (Exception e)
- {
- e.printStackTrace();
- }
- }
Class.getMethod 是从framework搜索指定的方法, 返回的Method就可以使用该方法, 第二个参数是该方法的参数类型。
Method.invoke 使用从framework里搜索到的方法, 第二个是参数。
- Android GPRS的自动打开与关闭。
- Android GPRS的自动打开与关闭
- Android GPRS的自动打开与关闭
- Android 打开关闭GPRS数据流量
- android使用代码实现gps,gprs,wifi打开与关闭
- 打开/关闭GPRS网络数据
- Android飞行模式的打开与关闭
- Android闪光灯的打开与关闭
- 【Android】开启关闭GPRS
- android gprs关闭
- Android Studio打开不自动开启上次关闭的项目
- Android 代码打开GPRS
- 软键盘自动打开与关闭
- Android自动打开和关闭软键盘
- Android自动打开和关闭软键盘
- Android自动打开和关闭软键盘
- android自动打开和关闭软键盘
- GPRS打开关闭 java.lang.NoSuchMethodException: setMobileDataEnabled
- js过滤HTML标签
- java abstract interface
- 关于<c:forEach>
- Hadoop基本流程与应用开发
- 有关Ruby的Symbol
- Android GPRS的自动打开与关闭
- 网络IP地址
- C语言中typeof
- mtd命令及制作ubi镜像做根文件系统
- is not in the sudoers file. This incident will be reported
- 新炬网络技术分享王科--Oracle TimesTen企业级应用实践
- C#编程笔记
- sql 表的连接查询
- 网页嵌入快播播放器并实现服务器视频文件连续播放