我想從片段的onDestroy()運行一個長操作任務。我的目標是調用網絡調用來刪除一些數據,以防用戶通過從最近的應用程序中滑動來關閉應用程序。我希望在調用onDestroy()時啓動一個intent。當調用onDestroy()時運行長任務
目前,無論何時我嘗試初始化意圖,在我有機會操作調用之前,由於onDestroy()已經殺死了我的應用程序,所以我放棄了上下文。
我不想使用這個選項:Performing long running operation in onDestroy因爲像這樣運行一個線程不是正確的做法,而且看起來像一個危險的黑客。
從活動的onDestroy()調用操作導致了相同的錯誤。
Offcourse,我不想在ui線程上做任何工作,並且在我的操作完成之前「推遲」onDestroy()。
只是爲了通關,雖然getContext()不爲null,但當我到達SomeService類時,上下文已經爲空,因爲發送intent是異步操作。
@Override
public void onDestroy() {
Intent intent = new Intent(getContext(), SomeService.class);
getContext().startService(intent);
super.onDestroy();
}