首页 > 解决方案 > 有没有办法在 Android 10+ 中强制 Wi-Fi 重新连接/断开连接?

问题描述

我在我们的应用程序中实现了重新连接功能,以说明 Wi-Fi 漫游在 Android 中很糟糕的事实。具体来说,我需要设备连接到具有相同 SSID 的不同接入点。然后应用程序将使用自己的 IP 地址来计算服务器地址(在第二个网络上不同)并连接到它。这就是背景信息。它在 Android 9 上运行良好。

遗憾的是,启用此类恶作剧的 API 方法在 Android 10 中已被弃用(并且无法使用)。

新的Wi-Fi 建议 API “替换”了不推荐使用的方法。我花了一些时间研究可能性,如果我理解正确的话,那个 API 并没有提供任何接近我需要的东西。该应用程序可以建议它喜欢什么样的连接,但仅此而已。

由于我使用网络 SSID 进行重新连接功能,我想我应该使用 AP 的 BSSID(MAC 地址)来增强它,并建议我想连接到“另一个”AP。然而,这样的建议似乎没有任何作用。这使我得出结论,这些建议仅适用于设备根本未连接到网络的情况。

我看到的唯一提到断开连接的是WifiManager.removeNetworkSuggestions的文档

如果要删除的建议之一用于建立与当前网络的连接,则设备将立即断开与该网络的连接。

所以我必须在断开连接时启动应用程序(用户必须手动执行)。我还没有尝试过,但这会破坏我重新连接的全部目的。

有没有其他方法可以实现这一目标?我只需要更改为具有相同 SSID 的另一个 Wi-Fi(并收到通知,以便我可以进行计算并连接到新服务器)。

标签: androidwifiandroid-10.0wifimanagerdisconnect

解决方案


推荐阅读