概述
需要添加权限
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> //系统级应用 <uses-permission android:name="android.permission.MODIFY_PHONE_STATE"/>
WIFI 开关 设置
/**
* set wifi
* android Q 版本以下可以使用
*/
private void changeWiFi() {
mWifiService = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
if (mWifiService.isWifiEnabled()){
mWifiService.setWifiEnabled(false);
}else {
mWifiService.setWifiEnabled(true);
}
}
4G网络开关设置,支持5.0以上版本(系统权限下,否则报错)
/**
* 设置网络
* @param context
* @param enabled
*/
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();
}
}
/**
* 获取当前网络状态
* @param context
* @return
*/
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;
}
最后
以上就是默默枫叶为你收集整理的Android 代码设置网络开关的全部内容,希望文章能够帮你解决Android 代码设置网络开关所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复