我可以在不连接的情况下检查接入点是否使用 key 保护吗? 有了这个,我可以在 wifi ap 是否锁定时放置一个图标。 非常感谢, 蒂姆
最佳答案
使用 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]
您可能需要以下权限才能扫描和阅读结果。
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
关于android - 如何检查列出的 WiFi AP 是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18827245/