【问题标题】:No longer able to connect to a Wi-Fi network since Android Nougat自 Android Nougat 以来不再能够连接到 Wi-Fi 网络
【发布时间】:2017-02-04 12:51:12
【问题描述】:

我有一个用于连接到未连接到 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 似乎让连接与没有连接到 Internet 的网络保持连接。但是,自从 Nougat 之后,这似乎不再起作用了。

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

谢谢。

【问题讨论】:

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


    【解决方案1】:

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

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

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

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-07
      • 2018-06-14
      • 1970-01-01
      • 1970-01-01
      • 2012-02-07
      相关资源
      最近更新 更多