我有具有IntentService提供背景處理的應用 - 特別是它從網並將其存儲在SQLite數據庫獲取數據。 我的活動使用Context.startService()請求服務更新數據,並且服務在更新完成時發送本地廣播消息。在活動使用它之前,IntentService可能會被殺死嗎?
IntentService使用線程池來完成這項工作 - 主要是爲了在請求完成之前打開一個新的Activity,因此不同資源的新請求不會阻止等待前一個完成。
這一切都正常工作,但爲了防止多個同時請求相同的資源,我在活動中設置了一個標誌,它在發送請求後停止發送新的請求,直到它從服務。
現在,如果IntentService在操作過程中被關閉,它將永遠不會發送DONE消息,並且Activity永遠不會知道請求未完成,並且不會重新請求資源。這可能嗎?如果發生這種情況,是否有任何方法可以通知活動?
謝謝!我沒有意識到只有整個過程纔會被終止。當然,我需要確保發現任何可能的異常,並且我相信我正在這樣做。如果我不是,那是一個錯誤和我的問題。 – Clyde