WiFi状态未启用

时间:2012-01-03 07:35:23

标签: android android-wifi

我正在尝试创建一个用于启用和禁用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状态我得到它是假的。

3 个答案:

答案 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();

<强>参考

WifiEnabler

http://google-androidlovers.blogspot.com/2012/01/scan-for-wireless-networks-in-android.html

http://www.java2s.com/Open-Source/Android/android-platform-apps/Settings/com/android/settings/wifi/WifiApEnabler.java.htm

答案 1 :(得分:0)

下载此示例,这是您想要的

https://github.com/siddhpuraamitr/WIfi-Toggle-Widget

答案 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 及以下版本的设备。