代码控制android手机的网络开关。
来源:互联网 发布:淘宝店铺承接页怎么做 编辑:程序博客网 时间:2024/04/29 13:56
1.通过代码控制wifi的开关
WifiManager wifiManager = PhoneManager.getWifiManager(context);
wifiManager.setWifiEnabled(true);//开启wifi
wifiManager.setWifiEnabled(false);//关闭wifi
2.通过代码控制手机流量的开关
输入参数
Context context;
boolean enabled;//true代表开,false代表关
需要权限:
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
/** * 开启关闭手机网络 * @param context * @param enabled */private void toggleMobileData(Context context, boolean enabled) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); //ConnectivityManager类 Class<?> connectivityManagerClass = null; //ConnectivityManager类中的字段 Field connectivityManagerField = null; //IConnectivityManager接口 Class<?> iConnectivityManagerClass = null; //IConnectivityManager接口的对象 Object iConnectivityManagerObject = null; //IConnectivityManager接口的对象的方法 Method setMobileDataEnabledMethod = null; try {//取得ConnectivityManager类connectivityManagerClass = Class.forName(connectivityManager.getClass().getName());//取得ConnectivityManager类中的字段mServiceconnectivityManagerField = connectivityManagerClass.getDeclaredField("mService");//取消访问私有字段的合法性检查 //该方法来自java.lang.reflect.AccessibleObjectconnectivityManagerField.setAccessible(true);//实例化mService//该get()方法来自java.lang.reflect.Field//一定要注意该get()方法的参数://它是mService所属类的对象//完整例子请参见://http://blog.csdn.net/lfdfhl/article/details/13509839iConnectivityManagerObject = connectivityManagerField.get(connectivityManager);//得到mService所属接口的ClassiConnectivityManagerClass = Class.forName(iConnectivityManagerObject.getClass().getName());//取得IConnectivityManager接口中的setMobileDataEnabled(boolean)方法//该方法来自java.lang.Class.getDeclaredMethodsetMobileDataEnabledMethod = iConnectivityManagerClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE);//取消访问私有方法的合法性检查 //该方法来自java.lang.reflect.AccessibleObjectsetMobileDataEnabledMethod.setAccessible(true);//调用setMobileDataEnabled方法setMobileDataEnabledMethod.invoke(iConnectivityManagerObject,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(); } }
0 0
- 代码控制android手机的网络开关。
- 代码控制android手机网络的开关
- Android-代码控制开关
- Android笔记之通过代码开关手机网络
- android 控制移动网络开关
- Android网络相关(WiFi的开关,WiFi热点的开关,获取手机IP地址等)
- Android中使用代码控制Wifi及数据连接网络开关
- Android中使用代码控制Wifi及数据连接网络开关
- Broadlink 博联wifi远程控制智能插座\手机网络控制定时延时开关配置失败的解决方法(已解决)
- 开关Android的APN网络
- 检查当前手机网络的Android代码
- Android 手机控制台灯开关详细教程-智能台灯
- 制作手机远程控制开关
- Android中音乐开关的控制
- Android 控制日志开关的方法
- Android控制wifi开关
- android 代码控制飞行模式开关 支持4.2以上 root
- 如何开关Android的APN网络
- C# Convert.ChangeType() 将未知类型转换为已知类型
- Open-Drain、Push-Pull、floating input
- 前台技术--有关二级联动及多城市选择功能实现
- android事件监听机制
- web服务器测试工具Gulu——HTTP接口测试工具
- 代码控制android手机的网络开关。
- 黑马程序员笔记:Java基础知识之设计模式中的Template模板方式
- 顺序统计量和中位数——线性时间的选择算法
- java中显示图片的用法
- 使用Chrome DevTools的Timeline和Profiles提高Web应用程序的性能
- C++UTF8、ASCII怎样转换成宽字符?
- ORB特征 学习笔记
- Bootstarp学习教程(10) 按钮组组件
- ScrollBar.Maximum属性