在我的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 ... –