gpt4 book ai didi

Android Connectivity BroadcastReceiver 的触发速度不够快

转载 作者:行者123 更新时间:2023-11-30 04:02:09 26 4
gpt4 key购买 nike

我在我的应用程序中扩展了 Application 类。在那个类中,我有一个等待连接更改的 BroadcastReceiver。如果我切换到飞行模式,它会立即识别出连接丢失并收到广播,但是如果我失去数据连接(即在地下等),即使没有互联网相关,也需要几秒钟到几分钟才能触发任务已成功完成(即使您尝试在浏览器中浏览)。 是否有更精确的方法来确定互联网连接何时首次丢失?

最佳答案

找出 Internet 连接何时丢失的方法是对网络错误进行适当的异常检查。

如果抛出网络异常(套接字超时、I/O 错误等),您可以将应用程序的状态设置为断开连接。当然,这仅在您积极尝试通过网络发送或接收数据时才有效。

如果连接通知非常重要,您可以使用远程服务器进行定期检查(例如 ping 谷歌服务器),但这会耗尽您的电池电量,因为过于频繁地接触网络会使 radio 保持唤醒状态并耗电。

关于Android Connectivity BroadcastReceiver 的触发速度不够快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12317181/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com