Android Q:获取已配置网络的列表

问题描述

getConfigurednetworks的方法现已在Android Q中弃用。我正在使用此功能来确定Wifi网络是否具有任何安全性,例如WifiConfiguration.KeyMgmt.WPA_EAP。所有这些现在都已弃用,我不确定是否还有其他选择。 Google建议使用WifiNetworkSpecifier.Builder#build(),但这是用于连接到新网络,而不是用于我的用例。

解决方法

WiFi scanning 允许您获取范围内的网络列表。

然后您可以解析 ScanResult.capabilities,其中应该包含网络的加密信息(WPA/WPA2/等)。 当然,拥有一个合适的对象而不是一个字符串会更方便,但我们在这里。