在Wifi设置中忘记网络不会更新已配置列表

时间:2014-04-23 08:36:51

标签: android android-wifi wifimanager

让我们考虑用户从Wifi设置忘记路由器“R1”。 现在,当我使用:

访问所有已配置路由器的列表时
wifiManager.getConfiguredNetworks();

列表中仍然存在“R1”。那么当我们忘记路由器时,它是否会从配置列表中删除?

2 个答案:

答案 0 :(得分:1)

我不确定我的解决方案,但您可以检查它是否适合您。 getConfiguredNetworks()返回ListWifiConfiguration个对象,这些对象有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已在配置和范围内,则不会以编程方式添加网络。