我在 Alarm Receiver on-receive Method中使用了 20 秒Handler Post Delayed Timer 任务。如果我在调用警报接收器 on-receive 方法之前退出应用程序,该应用程序工作正常。如果我在安排 Handler Post 延迟计时器任务后退出应用程序。然后 Handler Post 延迟 Timer 任务在退出应用后自动取消。因此,延迟的 Timer 任务从未在我的应用程序中调用过。
代码片段:
Handler handler= new Handler();
handler.postDelayed(networkRunnable,
10000);
/**
* A runnable will be called after the 10 second interval
*/
Runnable networkRunnable= new Runnable() {
@Override
public void run() {
// Called after 10 seconds
cancelNetworkTask();
// My Job to do after 10 seconds
}
};
退出应用程序后,从调用下一个警报接收器的接收方法开始,将安排计时器任务并且工作正常。
我在 Alarm Receiver on-receive 方法中尝试了 goAsync() 。所以这也无助于我解决这个问题。一旦我退出应用程序,我计划的计时器任务就会被取消。
一旦应用程序在警报接收器 on-receive 方法中退出,如何保持计划的处理程序发布延迟计时器任务可用。
请帮助我。