IL PROBLEMA Ho problemi a fermare il timer durante lo sviluppo in Android.Timer non si arresta in Android
Il timer è già nullo quando si tratta di fermarlo.
Sposto quindi l'inizializzazione del timer all'esterno di un metodo, proprio come il TimerTask che risolve il problema nullo ma che non si annulla ancora quando viene chiamato timer.cancel();
.
Il codice seguente è un esempio del timer già nullo quando si tratta di fermare la registrazione.
TimerTask
mio TimerTask
viene inizializzato all'interno della classe, ma al di fuori di un metodo e i codici seguenti ...
private TimerTask task = new TimerTask() {
@Override
public void run() {
Log.e("TRACK_RECORDING_SERVICE","Timer Running");
}
};
Timer & Avvio timer
Ho poi ho un metodo startRecroding che viene chiamato quando voglio avviare il timer ...
public void startRecording(){
timer = new Timer("Message Timer");
timer.scheduleAtFixedRate(this.task, 0, 1000);
}
Timer stop
ho quindi chiamare il metodo seguito quando voglio fermare il timer ...
public void stopRecording() {
if (timer != null) {
timer.cancel();
timer = null;
} else {
Log.e("TRACK_RECORDING_SERVICE","Timer already null.");
}
}
Qualsiasi aiuto sarebbe molto apprezzato.
hai provato task.cancel() seguito da timer.purge()? – Steelight