3
我可以檢查一個訪問點是否通過一個密鑰進行了保護而不連接到它? 有了這個我可以放置一個圖標,如果無線上網ap被鎖定或沒有。 非常感謝, 添如何檢查列出的WiFi AP是否安全?
我可以檢查一個訪問點是否通過一個密鑰進行了保護而不連接到它? 有了這個我可以放置一個圖標,如果無線上網ap被鎖定或沒有。 非常感謝, 添如何檢查列出的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"/>