我的應用程序中有任務在後臺運行。這些任務可以在一個小時或更長時間內執行很長時間。Android意圖服務+通知
有兩個問題:
1)我需要向用戶顯示任務的狀態。這個怎麼做?每次創建通知?如何解決這個問題的最佳做法是什麼?
2)是否有可能使該意圖服務執行任務到最後而不是斷開連接?
我的應用程序中有任務在後臺運行。這些任務可以在一個小時或更長時間內執行很長時間。Android意圖服務+通知
有兩個問題:
1)我需要向用戶顯示任務的狀態。這個怎麼做?每次創建通知?如何解決這個問題的最佳做法是什麼?
2)是否有可能使該意圖服務執行任務到最後而不是斷開連接?
如果您希望您的服務在完成任務後繼續運行IntentService
不是最佳選擇。您可以使用Foreground service來實現你的兩個要求 - 顯示通知給用戶,並長期運行的任務
編輯:因爲foreground service
是它的主線程上運行只是正常的服務,讓您`ll需要使用Async task的實際後臺工作(或其他任何異步工作方式)。 在加副作用利用前景的服務,讓系統少likelly停止您的長時間運行工作
是試試這個: - http://stackoverflow.com/a/43198270/6096821 –
安迪,但如果MainActivity將被殺死當服務發送通知給MainActivity時,我們會捕獲NullPointerException或類似的東西?因爲您的廣播接收器在沒有MainActivity的情況下不存在。 – Delphian
請仔細觀看,因爲廣播已經在onResume中註冊。 –