自Android Nougat以来无法再连接到Wi-Fi网络

时间:2016-09-27 03:03:41

标签: java android wifi android-wifi android-7.0-nougat

我有一个应用程序,用于连接到无法连接到Internet的WiFi网络。它在Nougat之前的版本上运行良好。几周前我将手机升级为Nougat后,我再也无法连接到同一个WiFi网络了。它短暂连接并断开连接,然后回滚到以前连接到Internet的网络。下面是在Nougat之前工作正常的代码。

WifiManager manager = (WifiManager) activity.getSystemService(Context.WIFI_SERVICE);
WifiConfiguration selectedConfig = new WifiConfiguration();
selectedConfig.SSID = ssid; 
selectedConfig.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE);
manager.addNetwork(selectedConfig);

List<WifiConfiguration> cofigs = manager.getConfiguredNetworks();
for( WifiConfiguration config : cofigs) 
{
    if(config.SSID != null && config.SSID.equals(selectedConfig.SSID)) 
    {
        manager.disconnect();
        manager.enableNetwork(config.networkId, true);
        break;
    }           
}

过去,在manager.enableNetwork(config.networkId,true)中设置为true似乎让连接保持与没有连接到互联网的网络。然而,自从牛轧糖以后,这似乎不再适用了。

有谁知道发生了什么以及如何使其发挥作用?

感谢。

1 个答案:

答案 0 :(得分:0)

enableNetwork方法的布尔参数是阻止其他网络。 实际上,您无法告诉设备连接到某个网络,您唯一能做的就是阻止其他网络,这样,设备必须连接的唯一选项就是您没有连接到的网络。 #39; t disable(第一个参数上带id的那个)。

我建议您尝试检查addNetwork返回的内容并检查此google问题Google issue

如果这不能解决您的问题,请检查您是否正在扫描其他地方。如果您扫描可用的网络,您的设备将启用其他网络,因此其他网络将不再被禁用,您的设备将连接到它在开头的那个或具有更高优先级的设备。< / p>

希望有所帮助