获取 wifi 连接是否被锁定(密码保护)

Getting whether the wifi connection is locked(password protected) or not

在我的应用程序中,我获取所有可用的 WiFi 网络并使用 WifiManager.startScan()WifiManager.getScanResults() 在列表中显示它们。此外,我能够显示信号 strength.But 我没有知道如何显示 wifi 是否已锁定或 not.In 设置屏幕显示 wifi 的锁定图标 locked.How 我可以知道 wifi 是否受密码保护吗?

ScanResult.capabilities

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

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

基本上,如果你想知道它是否被保护:

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

(尽管将字符串与 == 运算符进行比较并不好,但这总是 return 正确答案,因为 AccessPointState 中的引用是 static final 一个)