【问题标题】:Getting whether the wifi connection is locked(password protected) or not获取wifi连接是否被锁定(密码保护)
【发布时间】:2023-03-19 21:23:01
【问题描述】:

在我的应用程序中,我获取所有可用的 WiFi 网络,并使用 WifiManager.startScan()WifiManager.getScanResults() 在列表中显示它们。我还能够显示信号强度。但我不知道如何显示 wifi 是否被锁定与否。在设置屏幕中显示已锁定的 wifi 的锁定图标。我如何知道 wifi 是否受密码保护?

【问题讨论】:

    标签: android android-wifi wifimanager


    【解决方案1】:

    ScanResult.capabilities

    一个例子是:[WPA-PSK-TKIP+CCMP][WPA2-PSK-TKIP-CCMP][WPS][ESS]

    如果你想找到解析它的方法,请参阅this answer

    基本上,如果你想得到它是否受到保护:

    boolean isProtected = AccessPointState.getScanResultSecurity(scanResult) != AccessPointState.OPEN;
    

    (虽然用 == 运算符比较字符串不太好,但这总是会返回正确的答案,因为 AccessPointState 中的引用是 static final 之一)

    【讨论】:

    • 所以我必须从 ggogle 项目中复制 AccessPointState 并添加到我的项目中?
    • 您不必这样做。可能复制一个方法和常量就足够了。
    • 如果扫描结果功能包含“PSK”、“WEP”或“EAP”,这意味着 wifi 受密码保护?
    猜你喜欢
    • 2014-05-14
    • 1970-01-01
    • 1970-01-01
    • 2013-12-25
    • 1970-01-01
    • 2010-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多