Android连接广播接收器不';火开得不够快
我已经在我的应用程序中扩展了应用程序类。在该类中,我有一个BroadcastReceiver,它等待连接更改。如果我切换到飞行模式,它会立即识别连接丢失并接收广播,但是如果我失去数据连接(如在地下等),即使没有成功完成与互联网相关的任务(即使您尝试在浏览器中浏览),也需要几秒钟到几分钟才能触发是否有更精确的方法来确定internet连接何时首次丢失?确定internet连接何时丢失的方法是对网络错误进行适当的异常检查 如果引发网络异常(套接字超时、I/O错误等),可以将应用程序的状态设置为断开连接。当然,这只有在您积极尝试通过网络发送或接收数据时才起作用Android连接广播接收器不';火开得不够快,android,android-activity,android-lifecycle,connectivity,Android,Android Activity,Android Lifecycle,Connectivity,我已经在我的应用程序中扩展了应用程序类。在该类中,我有一个BroadcastReceiver,它等待连接更改。如果我切换到飞行模式,它会立即识别连接丢失并接收广播,但是如果我失去数据连接(如在地下等),即使没有成功完成与互联网相关的任务(即使您尝试在浏览器中浏览),也需要几秒钟到几分钟才能触发是否有更精确的方法来确定internet连接何时首次丢失?确定internet连接何时丢失的方法是对网络错误进行适当的异常检查 如果引发网络异常(套接字超时、I/O错误等),可以将应用程序的状态设置为断开连
如果连接性通知非常重要,您可以使用远程服务器(例如ping谷歌服务器)定期检查,但这会耗尽电池电量,因为频繁接触网络往往会使收音机处于唤醒状态并耗电 查明Internet连接何时丢失的一种方法是对网络错误进行适当的异常检查 如果引发网络异常(套接字超时、I/O错误等),可以将应用程序的状态设置为断开连接。当然,这只有在您积极尝试通过网络发送或接收数据时才起作用
如果连接性通知非常重要,您可以使用远程服务器(例如ping谷歌服务器)定期检查,但这会耗尽电池电量,因为频繁接触网络往往会使收音机处于唤醒状态并耗电 我不打算说不,但我的猜测是,由于连接/接收是敏感的,并且由于许多原因会上下波动,因此此类广播将延迟一点,以确保连接确实已丢失。在飞行模式下,立即广播是安全的。你应该在应用程序中牢记这一点,如果你过于密切地监控连接,你可能会出现一些不必要的行为。我不会说不,但我的猜测是,由于连接/接收是敏感的,并且可能由于多种原因而上下波动,这样的广播将被延迟一点,只是为了确保连接确实已经丢失。在飞行模式下,立即广播是安全的。你应该在应用程序中记住这一点,如果你过于密切地监控连接,你可能会出现一些不必要的行为。+1如果可以的话,再次指出保持收音机打开会耗尽电池。+1如果可以的话,再次指出保持收音机开着会耗尽电池。