在我的IntentService類的onHandleIntent中,我創建了包含應在20秒後完成的runnable的句柄。不幸的是,我的服務睡眠或在這段時間之前被摧毀。 我也嘗試過CountDownTimer,但我有同樣的問題。 有人有任何想法可以讓onHnadleIntent等待嗎?謝謝!使IntentService不會睡眠,直到它執行handler.postDelayed可運行
這是代碼:
public class MyService extends IntentService {
//...
@Override
protected void onHandleIntent(Intent workIntent) {
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
Log.i("20 seconds later","I am here");
}
}, 20000);
//...
}
//...
}
非常感謝。 –
謝謝lottttttt !!! – prasanthMurugan
這是相同的問題,對嗎? https://stackoverflow.com/questions/36949239/handler-postdelayed-is-not-working-in-onhandleintent-method-of-intentservice 爲什麼,你知道嗎?基本上,我的應用程序仍處於前臺,屏幕仍在運行,但仍然無法工作......當IntentService可用時,爲網絡任務創建新的HandlerThread聽起來像是過度殺傷,除非有一個堅實的理由。 Pls ... –