在Android中停止并重新启动计时器任务

时间:2017-09-11 12:51:58

标签: java android timertask

我需要停止当前运行的计时器任务并以不同的延迟重新启动它。我尝试过几种方法,但没有任何方法可行当我使用以下代码时,TimerTask将在两个延迟中运行。

public void restUploadInterval(long newDelay) {
        timerRealData.cancel();
        timerRealData.purge();
        mMqttSupporter = MqttSupporter.getInstance();
        Timer timerRealData = new Timer();
        delay = newDelay;
        UploadingTask uploadingTask = new UploadingTask();
        timerRealData.scheduleAtFixedRate(uploadingTask, delay, delay);
    }

请让我知道如何停止当前计时器任务并以不同的延迟再次运行它。

1 个答案:

答案 0 :(得分:0)

正如你所做的那样。

要以不同的时序重新启动计时器,您需要取消()旧计时器并创建一个新计时器。

您的代码可能无法正常工作,因为您使用同名的局部变量隐藏了成员变量 timerRealData

尝试改变:

  

Timer timerRealData = new Timer();

  

timerRealData = new Timer();

它应该有用。