android - Android:强制 wifi 管理器保持连接到网络
问题描述
我有一个应用程序以编程方式连接到物联网设备的开放网络。IOT 网络不是“活跃的”,Android 似乎想要连接回活跃的 SSID。通过关闭图片中的选项(wifi 高级设置),手机可以防止跳跃网络。我不希望我的用户必须这样做。
有没有办法强制连接到我想要的网络?还是我需要不断检查 SSID、断开连接并重新连接?
这是我当前的代码。这适用于大多数用户保持连接状态,但一些运行 Android 8.0 的手机似乎会快速切换回另一个网络。
val config = WifiConfiguration()
config.SSID = "\"${network.SSID}\""
config.hiddenSSID = true
config.priority = 0xBADBAD
config.status = WifiConfiguration.Status.ENABLED
config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE)
(manager?.addNetwork(config))?.let { netID->
manager?.disconnect()
manager?.enableNetwork(netID, true)
manager?.reconnect()
}
解决方案
推荐阅读
- angular - 重新加载 Angular 应用程序时,总是转到忽略路由的根页面
- c++ - Sqlite C++ 中的预处理语句如何工作
- momentjs - Momentjs - 添加具有特定时间的日期
- typescript - Sinon 存根无法在具有导出类的打字稿中工作
- python - ResourceWarning:隐式清理
- c# - 如何将类属性值传递给另一个类中的方法
- powershell - 访问被拒绝的 powershell 移动文件
- css - 如何使用 Bootstrap 和 Css 将文本与图像对齐
- html - 悬停时更改所有兄弟元素的样式?
- xsl-fo - 如何强制一系列内联对象用 XEP RenderX XSLFO 包装