Android连接BroadcastReceiver无法快速启动

时间:2012-09-07 11:25:58

标签: android android-activity android-lifecycle connectivity

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

1 个答案:

答案 0 :(得分:1)

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

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

如果连接通知非常重要,您可以使用远程服务器(例如ping一台谷歌服务器)进行定期检查,但这会耗尽您的电池,因为经常触摸网络会使收音机保持清醒并汲取电量。