Android 5.0以前使用ConnectivityManager通过反射两个方法setMobileDataEnabled和getMobileDataEnabled来控制移动网络开和关。 
Android 5.0以后使用TelephonyMananger类通过反射获取setDataEnabled和getDataEnabled类完成操作。 
注意:需要使用系统权限:android:sharedUserId=”android.uid.system”。系统需要root

//适应Android5.0+

public void setMobileDataState(Context context, boolean enabled) {    TelephonyManager telephonyService = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);    try {        Method setDataEnabled = telephonyService.getClass().getDeclaredMethod("setDataEnabled",boolean.class);        if (null != setDataEnabled) {            setDataEnabled.invoke(telephonyService, enabled);        }    } catch (Exception e) {        e.printStackTrace();    }}public boolean getMobileDataState(Context context) {    TelephonyManager telephonyService = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);    try {        Method getDataEnabled = telephonyService.getClass().getDeclaredMethod("getDataEnabled");        if (null != getDataEnabled) {            return (Boolean) getDataEnabled.invoke(telephonyService);        }    } catch (Exception e) {        e.printStackTrace();    }    return false;}

 

/** 别忘了添加权限 **/
 

 

更多相关文章

  1. cm-14.1 Android系统启动过程分析(四)-Launcher 启动过程
  2. Android5.1系统通过包名给应用开放系统权限的方法
  3. Gartner:Android将在2012年成为第二大手机系统
  4. 彻底解决Android6.0权限管理问题
  5. 浅析android系统设计中的回调思想
  6. androidManifest.xml之uses-permission(权限-安全控制)

随机推荐

  1. Android模仿微信加号菜单模式
  2. [置顶] Android中inflate方法的用法
  3. android入门级开发笔记
  4. Android添加appcompat_v7包
  5. Android(安卓)实现蓝牙录音
  6. android http post调用webservice
  7. Android(安卓)Accessibility(辅助功能) 学
  8. Android学习笔记-Android应用程序初步认
  9. Android(安卓)NDK调用Java方法
  10. 微信的研究及sppeex库的使用(整理)