这个是网上找的,经过自己整理。由于android并未公开这个类,因此如果要打开/关闭数据,需要通过反射

16/09/29注:5.0以上无效

MobileDataSwitcher.java

import java.lang.reflect.Method;
import android.content.Context;
import android.net.ConnectivityManager;public class MobileDataSwitcher {@SuppressWarnings({ "rawtypes", "unchecked" })public void setMobileData(Context pContext, boolean pBoolean) {  try {  ConnectivityManager mConnectivityManager = (ConnectivityManager) pContext.getSystemService(Context.CONNECTIVITY_SERVICE);  Class ownerClass = mConnectivityManager.getClass();  Class[] argsClass = new Class[1];  argsClass[0] = boolean.class;  Method method = ownerClass.getMethod("setMobileDataEnabled", argsClass);  method.invoke(mConnectivityManager, pBoolean);  } catch (Exception e) {  e.printStackTrace();  }  }  /** * 返回手机移动数据的状态 * @param pContext * @param arg 默认填null * @return true 连接 false 未连接 */  @SuppressWarnings({ "rawtypes", "unchecked" })public  boolean getMobileDataState(Context pContext, Object[] arg) {  try {  ConnectivityManager mConnectivityManager = (ConnectivityManager) pContext.getSystemService(Context.CONNECTIVITY_SERVICE);  Class ownerClass = mConnectivityManager.getClass();  Class[] argsClass = null;  if (arg != null) {  argsClass = new Class[1];  argsClass[0] = arg.getClass();  }  Method method = ownerClass.getMethod("getMobileDataEnabled", argsClass);  Boolean isOpen = (Boolean) method.invoke(mConnectivityManager, arg);  return isOpen;  } catch (Exception e) {  return false;  }  }
}

上面这个类有两个方法,一个是设置数据是否打开,另一个是判断是否已经打开,调用方法如下

         if(mMobileDataSwitcher.getMobileDataState(mContext, null)){
//              mData.setBackgroundResource(R.drawable.tool_data_off);mMobileDataSwitcher.setMobileData(mContext, false);}else{
//              mData.setBackgroundResource(R.drawable.tool_data_on);mMobileDataSwitcher.setMobileData(mContext, true);}

注:需要添加如下权限

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>

Android打开/关闭数据流量相关推荐

  1. Appium操作手机网络设置(打开关闭wifi,打开关闭数据流量)

    注:Appium并不是所有的手机都能打开数据关闭数据流量成功,打开wifi有确认按钮,需要自己设置 下面放代码 # /usr/bin/env python # -*- coding: utf-8 -* ...

  2. Android打开/关闭屏幕和设置系统屏幕亮度方法

    在有一次处理屏幕的时候,我通过设置值发现怎么都实现不了. 控制屏幕的两种方法: 第一:通过获取PowerManager对象,利用反射.打开/关闭屏幕,上代码: /**  * 关闭屏幕 ,其实是使系统休 ...

  3. android 打开屏幕,android打开关闭屏幕

    打开和关闭手机屏幕方法: 1.关闭屏幕 //设备管理者 private DevicePolicyManager mDevicePolicyManager; //关屏组件 private Compone ...

  4. Android打开/关闭免提(SpeakerPhone)

    //打开扬声器      public void OpenSpeaker() { try{          AudioManager audioManager = (AudioManager) mC ...

  5. Android 打开关闭硬件加速

    尊重原创,原文出处:http://www.cnblogs.com/frydsh/archive/2012/10/23/2733581.html Android从3.0(API Level 11)开始, ...

  6. Android打开/关闭wifi命令

    1.切换root权限 # adb root; adb remount 2.关闭wifi # adb shell svc wifi disable 3.打开wifi # adb shell svc wi ...

  7. Android设备网络数据流量统计

    统计自设备启动以来的流量. JSONObject jsonObject = new JSONObject();//获取通过Mobile连接收到的字节总数,但不包含WiFi.long mobileRxB ...

  8. Android 打开关闭闪光灯(里程碑2.1)

    不同的手机,开启闪光灯的方法不一样,这里以摩托罗拉里程碑的手机为例 main.xml: [html] view plaincopy <?xml version="1.0" e ...

  9. Android 10.0默认开启(关闭)移动数据流量

    1.概述 在10.0定制化开发中,互联网网络要么使用wifi要么是数据流量来进行上网,所以对于默认关闭数据流量的功能,也不难实现,找到相应的代码流程,修改默认值就可以了 2.默认开启(关闭)移动数据流 ...

最新文章

  1. 都2021年了,你还在用Jenkins?赶快看看这些替代方案吧!
  2. 链表问题2——在双链表中删除倒数第K个节点
  3. strut2以及路径的一些问题
  4. (iOS-框架封装)iOS设计模式——MVC模式
  5. js删除与php后台交互,js动态添加删除,后台取数据(示例代码)_javascript技巧
  6. VTK:Utilities之Box
  7. 64.多态性实现机制—静态分派与动态分派(方法解析、静态分派、动态分派、单分派和多分派)
  8. Android加载大图、多图解决方案
  9. Log4J 最佳实践之全能配置文件
  10. 静态路由及默认路由实验配置
  11. 常见Windows硬件故障
  12. cad道路里程桩号标注_CAD道路桩号自动编号插件
  13. 定积分求导例题_高中数学导数简单题——定积分、导数、导数的几何意义等解题方法...
  14. 3Idiots-2014-Kaggle 比赛源码走读
  15. 讯飞、有道、谷歌、微软语音sdk集成总结
  16. 使用Mapper代理开发解决硬编码问题
  17. 转一次排障经历以供学习
  18. 漏洞poc和漏洞利用_带HTML的PowershellHTML空白空间隐写术和二进制漏洞利用交付[PoC]
  19. 苹果大幅砍单?蓝思科技等供应商称未收到通知
  20. todesk显示已登录在_Todesk无法运行

热门文章

  1. 使用VS Code 插件, 快速入门超账Fabric(一) : 知识回顾
  2. vivo x21安装Charles证书步骤
  3. 纯java处理图片拼接(背景上边添加文字和图片)
  4. 怎么查看自由幻想服务器返回的信息,自由幻想手游攻略大全 新手攻略技巧汇总[图]...
  5. VC调试--输出调试字符串(含示例代码)
  6. C# 3Des加密解密
  7. fastclick解析与ios11.3相关bug原因分析
  8. Verilog基础学习二
  9. 中国将陷入一次大萧条?
  10. Qt读写Excel--QXlsx插入、读取图片6