【发布时间】:2013-09-16 11:48:22
【问题描述】:
我可以在不连接的情况下检查访问点是否用密钥保护? 有了这个,如果wifi ap被锁定,我可以放置一个图标。 非常感谢, 蒂姆
【问题讨论】:
标签: android connection wifi protection
我可以在不连接的情况下检查访问点是否用密钥保护? 有了这个,如果wifi ap被锁定,我可以放置一个图标。 非常感谢, 蒂姆
【问题讨论】:
标签: android connection wifi protection
使用WifiManager的getScanResults方法,检查ScanResult的capabilities字段值。
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"/>
【讨论】: