我有一個簡單的計時器應用程序。定時器運行在一個服務中,並將消息廣播到活動類,以便在定時器時鐘倒數時更新UI。當你只是在屏幕上保持應用程序打開狀態時,以及在後臺運行約25分鐘時就可以正常工作。但在後臺25分鐘後,系統似乎關閉了該活動,因爲當我回到應用程序時,屏幕不再像以前那樣更新UI。我在ui類的oncreate和onResume區域都製作了廣播接收器。我可以做什麼,以便即使在我想象的是操作系統在25分鐘後將其殺死後,該課程也會得到更新?如何使服務在系統關閉後重新打開後更新活動的UI
回答
操作系統殺死你的服務,導致它認爲它已經死亡。如果用戶在25分鐘內沒有使用它,則操作系統可能是正確的。你需要的是一個STICKY_SERVICE。另外,我贊同@Sergey Benner。我會使用一個小部件。更多用戶友好。
感謝您的幫助。我不會去小部件路線。我要試試這個,我會更新我的結果。 – Dave 2012-02-09 23:22:55
如果(當)服務被終止時,您需要一些存儲剩餘時間的方法。我建議將開始時間存儲在首選項中。 – AedonEtLIRA 2012-02-09 23:33:43
好的。所以STICKY_SERVICE只是說如果調用重新啓動服務。看起來有沒有簡單的方法來保持服務運行。我想我需要捕捉我的服務ondestroy被調用時的剩餘時間。然後將其與重新啓動時間進行比較。計算差異。開一個新的時間。將其發送回服務。每次系統任意關閉我的服務時重複此操作。我不是這個操作系統大欺凌程序的忠實粉絲。但是如果我的服務沒有重新啓動呢?定時器永遠不會關閉,這是應用程序的全部要點。離奇。不知道該去哪裏。 – Dave 2012-02-09 23:47:06
- 1. 遠程服務 - 關閉啓動後重新啓動活動
- 2. 關閉並重新打開後,如何在後臺重新連接BLE設備?
- 3. jQuery UI Accordion在關閉後不會重新打開
- 4. ajax:如何在使用ajax關閉後重新打開div
- 5. 關閉活動後RecyclerView/db未更新
- 6. 如何在關閉後重新打開一個php會話?
- 7. 如何在會話關閉後重新打開休眠會話?
- 8. 如何在Firefox 3關閉後重新打開Java控制檯
- 9. 如何重新打開繼承後,我在TFS關閉2012
- 10. 如何在重新啓動後通過服務啓動活動
- 11. 通過AlertDialog關閉活動並在稍後重新打開時崩潰
- 12. 如何重新啓動Ubuntu系統後重新啓動devstack?
- 13. 當重新打開活動如何顯示用戶後臺服務狀態
- 14. CountDownTimer在關閉並重新打開應用程序後重新啓動
- 15. 關閉,然後重新打開一個新的提交請求
- 16. 如何防止系統在Win32服務中關閉或重新啓動?
- 17. ProgressDialog關閉打開新活動
- 18. 如何從後臺服務更新ViewModel的LiveData並更新UI
- 19. 如何正確關閉套接字然後重新打開它?
- 20. 關閉後再次打開服務器
- 21. 單擊關閉按鈕後,Modal會自動重新打開
- 22. jquery元素後關閉元素並重新打開新元素
- 23. 在系統終止應用程序後重新啓動活動
- 24. jqModal關閉,重新打開
- 25. 當活動關閉/重新啓動時,請繼續更新Android界面服務
- 26. Coreldraw VBA GlobalMacroStorage:如何在打開後關閉活動文檔?
- 27. 活動在onResume()後重新開始()
- 28. 在Java中可以在關閉它後重新打開System.in
- 29. 如何在使用MPVolumeView後重新打開系統音量疊加層?
- 30. 關閉應用程序後Android重新啓動服務
有沒有考慮過使用一個小部件來完成這些任務?服務會定期更新您的小部件。如果您需要更新活動,請考慮使用將更新的存儲空間,並在您的活動啓動時僅使用最新數據重新讀取存儲空間。如果服務看到活動,它將直接更新活動。或許如此。 – 2012-02-09 22:48:34