让我们考虑用户从Wifi设置忘记路由器“R1”。 现在,当我使用:
访问所有已配置路由器的列表时wifiManager.getConfiguredNetworks();
列表中仍然存在“R1”。那么当我们忘记路由器时,它是否会从配置列表中删除?
答案 0 :(得分:1)
我不确定我的解决方案,但您可以检查它是否适合您。 getConfiguredNetworks()
返回List
个WifiConfiguration
个对象,这些对象有status字段,我认为可以将其与WifiConfiguration.Status对象的字段进行比较。所以,请尝试以下方法:
List<WifiConfiguration> list = wifiManager.getConfiguredNetworks();
for (WifiConfiguration x : list) {
if (x.status != WifiConfiguration.Status.DISABLED){
...
}
}
答案 1 :(得分:1)
当您手动'forget'网络时,它将从配置列表中删除。这可以通过以编程方式添加网络并使用本机Android WiFi配置管理器添加网络来实现。
本机Wifi配置管理器不添加接入点的BSSID。我的应用程序确实将BSSID添加到接入点。本机WiFi控制器接受了这两者。但是,当提供忘记配置选项时,操作系统只会忘记一个。
我通过wiping all my configurations修复了此问题并修复了我的代码,如果相同的SSID已在配置和范围内,则不会以编程方式添加网络。