我该如何打开WiFi扫描仪?

use*_*436 2 android android-wifi

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

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

 State wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我运行它时,第二行导致我的应用程序崩溃.注释该行允许应用程序执行没有任何问题.这部分对于这个app非常重要.如果没有它,我就无法继续使用剩下的代码.它在仿真器(Android版本:4.2.2 API级别17)以及运行ICS 4.0.4(API级别15)的Xperia上崩溃.所需的最低API级别设置为8.代码没有错误.

编辑:有效的是:替代代码:

最终WifiManager wifiManagerI =(WifiManager)this.getSystemService(Context.WIFI_SERVICE);

boolean wifiEnabledI = wifiManagerI.isWifiEnabled();

pt2*_*121 7

没有日志,我猜测你忘了添加权限.

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

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

final WifiManager wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE); 
boolean wifiEnabled =   wifiManager.isWifiEnabled();
Run Code Online (Sandbox Code Playgroud)