我正在尝试创建一个用于启用和禁用wifi的小部件。
if(myWifiManager.isWifiEnabled()){
System.out.println("Toggle Wifi Enabled going to disable");
myWifiManager.setWifiEnabled(false);
}
else{
System.out.println("Wifi Disabled going to enable ");
myWifiManager.setWifiEnabled(true);
System.out.println("WI: "+myWifiManager.isWifiEnabled());
}
这是我使用禁用部分的代码工作正常,但启用部分工作不正常。启用无线网络后不久我打印wifi状态我得到它是假的。
答案 0 :(得分:9)
以下是如何在Android中打开和关闭wifi。
首先,您需要在清单文件中声明以下内容
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.UPDATE_DEVICE_STATS"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
在您的Activity类
上执行此操作后private WifiManager wifiManager;
@Override
public void onCreate(Bundle icicle) {
....................
wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
if(wifiManager.isWifiEnabled()){
wifiManager.setWifiEnabled(false);
}else{
wifiManager.setWifiEnabled(true);
}
}
的说明强> 的
从我们的系统获取Wifi服务
wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
检查我们的wifi当前是打开还是关闭
if(wifiManager.isWifiEnabled()){
打开/关闭我们的wifi wifiManager.setWifiEnabled();
<强>参考强>
http://google-androidlovers.blogspot.com/2012/01/scan-for-wireless-networks-in-android.html
答案 1 :(得分:0)
下载此示例,这是您想要的
答案 2 :(得分:0)
已弃用:从 Build.VERSION_CODES#Q 开始,应用程序不是 允许启用/禁用 Wi-Fi。兼容性说明:对于应用程序 针对 android.os.Build.VERSION_CODES#Q 或更高版本,此 API 将 总是失败并返回false。如果应用面向较旧的 SDK (android.os.Build.VERSION_CODES#P 或以下),可以继续使用 这个 API。
(Source)
因此这仅适用于具有 android Pie 及以下版本的设备。