我在應用程序中擴展了應用程序類。在那個類中,我有一個等待連接更改的BroadcastReceiver。如果我切換到飛行模式,它立即識別連接丟失並且接收到廣播,但是如果我失去了我的數據連接(即在地下等),即使沒有互聯網相關,也需要幾秒到幾分鐘的時間才能開始任務正在成功完成(即使您嘗試在瀏覽器中瀏覽)。 有沒有更精確的方法來確定互聯網連接何時首先丟失?Android連接BroadcastReceiver無法快速啓動
1
A
回答
1
找出互聯網連接丟失的一種方法是對網絡錯誤進行適當的異常檢查。
如果引發網絡異常(套接字超時,I/O錯誤等),您可以將應用程序的狀態設置爲斷開連接。當然,這隻有在您積極嘗試通過網絡發送或接收數據時纔有效。
如果連接通知非常重要,可以使用遠程服務器進行定期檢查(例如ping一臺谷歌服務器),但是這會消耗電池,因爲觸摸網絡往往會使電臺保持清醒並吸引力。
+0
+1如果我可以指出保持收音機將會耗盡電池。 – StackOverflowed
相關問題
- 1. Android無法啓動意圖BroadcastReceiver
- 2. 無法連接到快速書
- 3. 無法啓動JMS連接
- 4. Android:無法啓動活動/無法連接到相機服務
- 5. 可達性無法通過蜂窩連接快速連接3
- 6. Android禁用快速啓動欄滑動
- 7. 快速啓動8
- 8. 無法快速滾動ExpandableListView
- 9. 無法啓動活動(java.lang.IllegalStateException:已連接)
- 10. Android TCP快速啓動配置
- 11. Phonegap android快速啓動問題
- 12. Android BroadcastReceiver無法接收廣播
- 13. Chromedriver無法啓動或連接
- 14. iPhone和ASIHTTPRequest - 無法啓動HTTP連接
- 15. WIFI連接BroadcastReceiver
- 16. 角度快速啓動不會啓動
- 17. 連接和快速utils的
- 18. MS SQL 2008快速連接
- 19. 快速左連接問題
- 20. Android:無法註冊BroadcastReceiver
- 21. Sharepoint多級快速啓動
- 22. Magento快速啓動安裝
- 23. openshift piwik快速啓動
- 24. 快速啓動Web開發
- 25. 快速啓動爲ASP.NET
- 26. SharePoint快速啓動發行
- 27. BroadcastReceiver無法接收意圖
- 28. 「createRenderThread無法連接」啓動Android虛擬設備時
- 29. 重新啓動後無法連接到Android Wear手錶
- 30. Android「導彈啓動器」編碼 - 將無法連接
我不會說不,但我的猜測是,由於連接/接收很敏感,並且由於許多原因可能會上下跳動,因此這種廣播將會延遲升級,以確保連接確實已經丟失。在飛機模式下,立即播放是安全的。你應該考慮到你的應用程序,如果你太密切地監視連接,你可能會得到一些不需要的行爲。 – vikki