在我的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),该警报接收器将在每次发生警报事件(意图)时启动您的服务。

10-08 09:17