更改系统时间时如何保持timer.shcedule()运行

时间:2018-10-16 21:54:27

标签: java android timer timertask

最近,我正在使用android服务来启动新计时器并运行timerTask以执行某些操作。
代码如下:

Timer timer = new Timer();
timer.schedule(new RetrieveTask(), 300000);

private class RetrieveTask extends TimerTask {

    @Override
    public void run() {
        //do something
        timer.schedule(new RetrieveTask(), 300000);
    }
}

它运行良好,但是如果我将系统时间更改为比当前系统时间更早的时间,则它将不起作用。我遍历了Java API文档并知道了原因。

即使更改系统时间也要保持运行状态怎么办?

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

已获得解决方案。使用接收来接收时间更改意图并重新启动此计时器。