Java 在计时器中延迟单个任务

Java 在计时器中延迟单个任务,java,android,timer,Java,Android,Timer,我正在使用计时器定期安排任务,效果很好: t = new Timer(); t.schedule(new CheckTask(), 0, Defaults.CHECK_INTERVAL); 现在,在CheckTask的run()中,我想更改一次间隔。有可能吗?如果有,怎么做?您必须取消第一项任务,重新安排时间 t.cancel(); t = new MyTimerTask(); t.schedule(t, yournewdelay); 从文件中 “取消计时器和所有计划任务。如果当前 正在运行

我正在使用
计时器
定期安排任务,效果很好:

t = new Timer();
t.schedule(new CheckTask(), 0, Defaults.CHECK_INTERVAL);

现在,在
CheckTask
run()
中,我想更改一次间隔。有可能吗?如果有,怎么做?

您必须取消第一项任务,重新安排时间

t.cancel();
t = new MyTimerTask();
t.schedule(t, yournewdelay);
从文件中

“取消计时器和所有计划任务。如果当前 正在运行的任务不受影响。无法在上计划更多任务 此计时器无效。后续调用不会执行任何操作。“

重新计划时,需要初始化一个新计时器


创建一个新的计时器是不必要的!只需打电话“取消”,然后打电话“安排”@haywire如果您不初始化一个新的,您将得到以下错误:Exception errorjava.lang.IllegalStateException:TimerTask被安排在AlreadyTanks。我的解决方案有点不同(我使用计数器跳过一些处理),但您的答案就是问题的答案。