1

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

4

1 回答 1

1

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

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

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

于 2012-09-08T09:49:20.113 回答