转自:http://blog.csdn.net/stevenhu_223/article/details/7860964

/**

* 移动数据开启和关闭

*

* @param context

* @param enabled

*/

public void setMobileDataStatus(Context context, boolean enabled)

{

ConnectivityManager conMgr = (ConnectivityManager) context

.getSystemService(Context.CONNECTIVITY_SERVICE);

// ConnectivityManager类

Class> conMgrClass = null;

// ConnectivityManager类中的字段

Field iConMgrField = null;

// IConnectivityManager类的引用

Object iConMgr = null;

// IConnectivityManager类

Class> iConMgrClass = null;

// setMobileDataEnabled方法

Method setMobileDataEnabledMethod = null;

try {

// 取得ConnectivityManager类

conMgrClass = Class.forName(conMgr.getClass().getName());

// 取得ConnectivityManager类中的对象Mservice

iConMgrField = conMgrClass.getDeclaredField("mService");

// 设置mService可访问

iConMgrField.setAccessible(true);

// 取得mService的实例化类IConnectivityManager

iConMgr = iConMgrField.get(conMgr);

// 取得IConnectivityManager类

iConMgrClass = Class.forName(iConMgr.getClass().getName());

// 取得IConnectivityManager类中的setMobileDataEnabled(boolean)方法

setMobileDataEnabledMethod = iConMgrClass.getDeclaredMethod(

"setMobileDataEnabled", Boolean.TYPE);

// 设置setMobileDataEnabled方法是否可访问

setMobileDataEnabledMethod.setAccessible(true);

// 调用setMobileDataEnabled方法

setMobileDataEnabledMethod.invoke(iConMgr, enabled);

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (NoSuchFieldException e) {

e.printStackTrace();

} catch (SecurityException e) {

e.printStackTrace();

} catch (NoSuchMethodException e) {

e.printStackTrace();

} catch (IllegalArgumentException e) {

e.printStackTrace();

} catch (IllegalAccessException e) {

e.printStackTrace();

} catch (InvocationTargetException e) {

e.printStackTrace();

}

}

/**

* 获取移动数据开关状态

*

* @param context

* @param getMobileDataEnabled

* @return

*/

public boolean getMobileDataStatus(Context context,

String getMobileDataEnabled)

{

ConnectivityManager cm;

cm = (ConnectivityManager) context

.getSystemService(Context.CONNECTIVITY_SERVICE);

Class cmClass = cm.getClass();

Class[] argClasses = null;

Object[] argObject = null;

Boolean isOpen = false;

try {

Method method = cmClass.getMethod(getMobileDataEnabled, argClasses);

isOpen = (Boolean) method.invoke(cm, argObject);

} catch (Exception e) {

e.printStackTrace();

}

return isOpen;

}

最后,别忘了在AndroidMannifest.xml文件里添加访问权限

通过上面的代码可以知道,当开启移动网络时调用setMobileDataStatus(context,true),关闭调用setMobileDataStatus(context,false),通过getMobileDataStatus(String getMobileDataEnabled)方法返回的布尔值判断当移动数据网络前状态的开启和关闭。

android调用关闭移动数据,android开启和关闭移动网络相关推荐

  1. 计算机关闭dhcp,dhcp应该开启还是关闭_dhcp关闭会怎么样

    dhcp是动态主机设置协议(Dynamic Host Configuration Protocol, DHCP)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自 ...

  2. Android之四大组件(Service的开启与关闭)

    个人开发的微信小程序,目前功能是书籍推荐,后续会完善一些新功能,希望大家多多支持! 前言 服务(Service)是Android系统中的四大组件之一.服务主要用于两个目的:后台运行和跨进程访问.通过启 ...

  3. android 调用百度地图规划,Android 调用百度地图API

    一.到 百度地图开发平台下载SDK 1.点击自定义下载 2.下载自己想要的功能包我这里选了三个 3.获取密钥 获取密钥之前我们要新建一个应用 填写好相关的信息 二. 新建一个项目工程 1. 把下载好的 ...

  4. 【Android 逆向】修改运行中的 Android 进程的内存数据 ( Android 命令行中获取要调试的应用进程的 PID | 进程注入调试进程内存的 so 库 )

    文章目录 一.Android 命令行中获取要调试的应用进程的 PID 二.进程注入调试进程内存的 so 库 一.Android 命令行中获取要调试的应用进程的 PID 前置博客 [Android 逆向 ...

  5. android 调用图片裁剪功能,Android图片裁剪,合成(调用系统裁剪功能)

    做照片相框 步骤就是跟美图秀秀一样,先截图,然后添加相框 在之前Bitmap.createBitmap那个文里,说过使用jpg图片会挡住底层图片,用画这种方法合成图片,没有问题. public cla ...

  6. android调用webservice传参数,android调用webservice接口获取信息

    我的有一篇博客上讲了如何基于CXF搭建webservice,service层的接口会被部署到tomcat上,这一篇我就讲一下如何在安卓中调用这些接口传递参数. 1.在lib中放入ksoap2的jar包 ...

  7. android调用资源文件配置,Android资源文件

    应用资源是指应用中与源代码分离的资源,如图像.音频文件以及任何与应用的视觉呈现有关的内容.在Android项目中的每一项资源,SDK构建工具都会定义一个唯一的整形ID,可以通过ID对资源进行应用.提供 ...

  8. 【译】Android中的安全数据— Android中的加密(第2部分)

    目录 锁屏 选择一个钥匙 密钥存储 密钥生成 密钥管理 加密与解密 使用范例 下一步是什么 安全提示 锁屏 如果要保护数据,请保护设备. 为了更加安全,在提供对任何应用程序功能的访问权限之前,我们可以 ...

  9. android获取app用户数据,Android 原生app获取用户授权访问Autodesk云应用数据

    oAuth机制对于网站间的授权管理是很容易实现的,设置好app回调端口,当数据服务提供方拿到其用户授权,则返回授权码发送到回调端口.上一篇文章介绍了如何授权Forge app访问Autodesk 云应 ...

最新文章

  1. 使用现代C++如何避免bugs(下)
  2. python使用matplotlib可视化线图(line plot)、并自定义线条的粗细(线条的宽度、 line width in Matplotlib)
  3. 实验室管理系统LIMS有没有好的企业推荐?
  4. 不需要网络的调频收音机_测试工程师真的不需要懂网络知识么?
  5. 三角形内随机生成一个点
  6. HTML的语义化,你需要深入了解
  7. (1).数据结构概述
  8. HTML+CSS+JS实现 ❤️透明的水滴文字背景特效❤️
  9. 你所不知道的模块调试技巧 - npm link #17
  10. Android studio中单项选择,Android studio单选按钮、复选按钮
  11. 【算法】排序_选择排序及其优化
  12. Python-Selennium之爬虫实战--链家二手房爬虫项目
  13. PHP从入门到精通 第3版pdf
  14. 基于网络嵌入和语义表征的作者名消歧
  15. jsonDB使用手册
  16. android中的简单animation(三)accelerate(加速),decelerate(减速),anticipate,overshoot,bounce...
  17. greenplum官方监控工具 GPCC 安装、升级、卸载
  18. 计算机视觉基础之IoU和mIoU
  19. 渗透测试对403的利用
  20. python自学笔记15之实例之绘图、dataframe操作、读写csv,excle

热门文章

  1. tp5模板中时间戳转时间
  2. Netty快速入门与Reactor模式
  3. 神经网络与卷积神经网络_神经网络与人的思想
  4. Pycharm安装插件及优秀插件推荐
  5. android手机时间自动同步
  6. 章鱼网络进展月报 | 2022.5.1-5.31
  7. Flutter玩3d开心的玩
  8. HDU1009 FatMouse' Trade
  9. 计算机硬件软件知识产权,知识产权
  10. 算法函数 Ins_Linklist() ;Del_Linklist(L,i);详细解释