2

我尝试使用以下代码获取 WiFi 扫描仪的当前状态:

ConnectivityManager manager = (ConnectivityManager)getSystemService(MainActivity.CONNECTIVITY_SERVICE);

 State wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();

不幸的是,第二行导致我的应用程序在运行时崩溃。注释该行允许应用程序毫无问题地执行。这部分对于这个应用程序非常重要。没有它我无法继续剩余的代码。它在模拟器(Android 版本:4.2.2 API 级别 17)和运行 ICS 4.0.4(API 级别 15)的 Xperia 上崩溃。所需的最低 API 级别设置为 8。代码没有错误。

编辑:有效的是:备用代码:

final WifiManager wifiManagerI = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);

布尔 wifiEnabledI = wifiManagerI.isWifiEnabled();

4

1 回答 1

7

如果没有日志,我的猜测是您忘记添加权限。

<user-permission android:name="android.permission.ACCESS_WIFI_STATE" />

编辑:最终这段代码解决了这个问题。

final WifiManager wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE); 
boolean wifiEnabled =   wifiManager.isWifiEnabled();
于 2013-03-28T19:21:32.907 回答