В onHandleIntent моего моего класса IntentService я создал дескриптор, содержащий runnable, который должен быть выполнен через 20 секунд. К несчастью, мое служение спит или разрушается до этого периода. Я пробовал также с CountDownTimer, но у меня была та же проблема. У кого-нибудь есть идея, я могу заставить onHnadleIntent ждать? Спасибо!сделать IntentService не спящим, пока он не выполнит handler.postDelayed runnable
Это код:
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 Почему именно вы знаете? В основном, мое приложение все еще находится на переднем плане, и экран все еще включен, и все же это не работает ... создание нового HandlerThread для сетевых задач, когда доступно IntentService, похоже на излишний шум, если не существует солидной причины. Pls ... –