我可以检查一个接入点是否使用密钥保护而不连接它? 有了这个我可以放置一个图标,如果无线网络被锁定。 非常感谢, 添
答案 0 :(得分:1)
使用WifiManager的getScanResults
方法,并检查ScanResult的功能字段值。
WifiManager wm = (WifiManager) getSystemService(Context.WIFI_SERVICE);
wm.startScan();
//some time after...
List<ScanResult> results = wm.getScanResults();
for( ScanResult result : results ){
//if this ap is locked, the capabilities string should contains..
//the name of encryption mechanism. ex> [WPA2-EAP-CCMP]
Log.v("AP", "AP:" + result.capabilities);
}
就我而言,结果日志看起来像这样......
09-16 21:01:41.308 V/AP﹕ AP:[WPA-EAP-CCMP+TKIP][WPA2-EAP-CCMP+TKIP][ESS]
09-16 21:01:41.308 V/AP﹕ AP:[WPA-PSK-CCMP][WPS][ESS]
09-16 21:01:41.308 V/AP﹕ AP:[WPA2-EAP-CCMP][ESS]
09-16 21:01:41.308 V/AP﹕ AP:[WPA-PSK-CCMP][WPA2-PSK-CCMP][WPS][ESS]
09-16 21:01:41.308 V/AP﹕ AP:[WPA2-EAP-CCMP][ESS]
09-16 21:01:41.308 V/AP﹕ AP:[WPA2-EAP-CCMP][ESS]
您可能需要以下权限才能扫描&amp;阅读结果。
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>