Ich muss den aktuellen laufenden Timer Task stoppen und es mit einer anderen Verzögerung neu starten. Ich habe mehrere Möglichkeiten ausprobiert, aber nichts funktioniert einwandfrei. Wenn ich den folgenden Code verwende, wird TimerTask in beiden Verzögerungen ausgeführt.Stoppt und startet den Timer-Task in Android
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);
}
Bitte lassen Sie mich wissen, wie kann ich aktuelle Timer-Task stoppen und es erneut mit einer anderen Verzögerung ausführen.
Wenn Sie eine neue Instanz der Timer-Task-Klasse erstellen, werden mehrere Instanzen der Timer-Task im Hintergrund ausgeführt. Anstatt also ein neues Objekt zu erstellen, verwenden Sie dasselbe Objekt für die neue Timer-Aufgabe. –