[英]Stop and restart timer task in Android
我需要停止当前正在运行的计时器Task并以不同的延迟重新启动它。 我尝试了几种方法,但是都无法正常工作。 当我使用以下代码时,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);
}
请让我知道如何停止当前的计时器任务并以不同的延迟再次运行它。
确实和您一样。
要使用其他计时重启计时器,您需要cancel()旧计时器并创建一个新计时器。
您的代码可能无法正常工作,因为您用相同名称的局部变量隐藏了成员变量timerRealData 。
尝试更改:
计时器timerRealData = new Timer();
与
timerRealData =新的Timer();
它应该工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.