取消后重新使用计时器

Reuse a timer after cancelling

我正在开发一个出于某种目的必须使用计时器的应用程序。我需要做的是,当条件满足时设置一个计时器并相应地取消它。然后我可能会再次启动我取消的同一个计时器。请提供解决方案。

创建 CountDownTimer class 喜欢:

    public class MyCount extends CountDownTimer {
                public MyCount(long millisInFuture, long countDownInterval) {
                    super(millisInFuture, countDownInterval);
                }

                @Override
                public void onFinish() {
                     // do something of finish timer
            }

            @Override
            public void onTick(long millisUntilFinished) {
                // do something on tick of timer
            }
        }

并且应该创建一个如下所示的 MyTimer 对象:

MyCount timerCount = new MyCount(<TIME_UNTIL_FINISH_MILLISECONDS>, <TIME_OF_EACH_TICK>);

并且可以在任何地方启动计时器:

timerCount.start();

并取消它:

timerCount.cancel();

对于单个计时器 android 设置单个线程。当您取消该计时器时,它的执行线程将正常终止,并且不再有任何任务可以安排在它上面。所以你必须创建一个定时器对象的新实例。 您可以按照下图进行操作。

 if(condition == true)
{ 
timer = new Timer();
   timer.schedule(new TimerTask(), delay, span);
}
else{
   timer.cancel();
}