android - 如何检查列出的 WiFi AP 是否安全?

标签 android connection wifi protection

我可以在不连接的情况下检查接入点是否使用 key 保护吗? 有了这个,我可以在 wifi ap 是否锁定时放置一个图标。 非常感谢, 蒂姆

最佳答案

使用 WifiManagergetScanResults 方法,并检查 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/

相关文章:

android - 选项卡内容在 Android 应用程序中重叠

android - BroadcastReceiver 向 IntentService 发送 Intent 时单元测试失败

android - 如何从android中的代码知道路由器的IP地址?

MySQL Workbench 6.3 移动 Mysql 后找不到 Performance_schema

java - 最大TCP连接持续时间一般还是在java中?

android - 检测是否没有互联网连接

python - 如何从字符串中获取项目的值?

android - Recycler Adapter 中的协程

database - 如何将 JBoss 7.1.1 Final 连接到 Oracle 数据库?

api - 在ios中以编程方式连接到WiFi