Android:即使使用 WifiLock,Wifi 也会关闭

发布于 2024-11-26 10:38:07 字数 359 浏览 1 评论 0原文

我有一个只要有 Wifi 连接就运行的前台服务。在服务期间,它持有 WifiLock。一切正常,直到我关闭屏幕并等待大约 15 分钟。然后,我持有的套接字会抛出连接超时异常,因为 Wifi 断开连接(我在日志中看到它,并且我的 android.net.wifi.STATE_CHANGE 广播接收器已启动)。然后 Wifi 继续并获得新连接。

Bwt,如果我删除 WifiLock 并将 Wifi 睡眠策略更改为“从不”,也会发生同样的情况。但如果没有任何一个,wifi 就会关闭,直到屏幕解锁。

找不到任何可以解决此问题的内容,任何建议/解决方法表示赞赏。如果没有,我的服务将只使用新连接,我将不得不围绕这个问题进行构建。

使用 Galaxy Tab。

I have a foreground service that runs as long as I have a Wifi connection. During the duration of the service it holds a WifiLock. Everything works fine until I turn off the screen and wait about 15 minutes. My socket that I hold then throws a connection timeout exception because the Wifi disconnects (I see it in the logs and my android.net.wifi.STATE_CHANGE broadcast receiver is started). The Wifi then proceeds and gets a new connection.

Bwt the same thing happens if I remove my WifiLock and instead change the Wifi sleep policy to "never". But without either the wifi is just turned off until the screen is unlocked.

Couldn't find anything that solved this problem, any suggestion/workarounds are appreciated. If not, my service will just use the new connection and I will have to build around this issue.

Using a Galaxy Tab.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

平生欢 2024-12-03 10:38:07

正如 ahmedre 指出的那样,这是 Android 的一个错误。我现在创建来自客户端的响应以确保已收到消息。否则请暂时重试。这是为了解决 Wifi 刚刚断线时发送消息的问题。

更新

我在较新的设备上没有看到此特定问题。最初此行为发生在 Galaxy Tab 上。

As ahmedre noted this is a bug with Android. I now create a response from the client to make sure the message was received. Otherwise try again momentarily. This is to get around the problem of sending a message when the Wifi just died.

Update

I have not seen this particular issue on newer devices. Originally this behavior occured on the Galaxy Tab.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文