在Android上检查是否启用了Wi-Fi

inf*_*org 54 android status wifi

用于检查Wi-Fi是否启用的代码是什么?

Ras*_*sel 114

WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
if (wifiManager.isWifiEnabled()) {
  // wifi is enabled
}
Run Code Online (Sandbox Code Playgroud)

详情请点击此处

  • if(wifi.isWifiEnabled()){// wifi已启用} (2认同)
  • 这需要<uses-permission android:name =“ android.permission.ACCESS_WIFI_STATE” />。抱歉,如果这很明显,但是出现了意外的运行时错误。 (2认同)

McL*_*Lan 24

上面的答案很好用,但不要忘记在Manifest中添加正确的权限:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你 ..


KoK*_*KlA 15

最佳答案是正确的,但不是最新的,因为此代码可能会泄漏某些设备上的内存.

因此,更好的答案是:

WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
if (wifiManager.isWifiEnabled()) {
  // wifi is enabled
}
Run Code Online (Sandbox Code Playgroud)

app => mainfests => AndroidManifest.xml中的权限:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
Run Code Online (Sandbox Code Playgroud)

参考:https://www.mysysadmintips.com/other/programming/759-the-wifi-service-must-be-looked-up-on-the-application-context


XXX*_*XXX 8

public static boolean wifiState() {
    WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
    return wifiManager.isWifiEnabled();
}
Run Code Online (Sandbox Code Playgroud)