在我的android应用程序中,我正在运行一个在前台启动的远程服务
startForeground(1, notification)
这样它就不会被杀死。在此服务中,这样允许任务每15分钟运行一次并重复执行。
handler.post(scheduledTask);
class ScheduledTask implements Runnable{
@Override
public void run() {
// Do the task
// Repeat the task after the interval
handler.postDelayed(this,INTERVAL);
}
}
我将这个应用程序保留了一天。但是在午夜之后,它停止了大约5-6个小时的工作,然后在我恢复应用程序时出现了清晨,然后继续。
有人可以告诉我是什么引起了这个问题吗?我在Galaxy Note中对此进行了测试。
最佳答案
使用AlarmManager比postDelayed更好。我现在无法发布代码,但是我有相同的需求,并且AlarmManager被证明比postDelayed更好。
您将需要某种警报接收器(例如,BroadcastReceiver),该警报接收器将在每次发生警报事件(意图)时启动您的服务。