Android - Ejecutar un hilo repetidamente dentro de un temporizador
En primer lugar, ni siquiera pude elegir el método a utilizar, estoy leyendo durante horas y alguien dice usar 'Manejadores', alguien dice usar 'Temporizador'. Esto es lo que trato de lograr:
En las preferencias, hay una configuración (casilla de verificación) que habilita / deshabilita el trabajo que se repite. Cuando se marca esa casilla de verificación, el temporizador debe comenzar a funcionar y la secuencia debe ejecutarse cada x segundos. Como la casilla de verificación no está marcada, el temporizador debería detenerse.
Aquí está mi código:
Verificando si la casilla de verificación está marcada o no, si está marcada, se ejecutará 'refreshAllServers' void, lo que hace el trabajo con temporizador.
boolean CheckboxPreference = prefs.getBoolean("checkboxPref", true);
if(CheckboxPreference == true) {
Main main = new Main();
main.refreshAllServers("start");
} else {
Main main = new Main();
main.refreshAllServers("stop");
}
El refreshAllServers anula que hace el trabajo del temporizador:
public void refreshAllServers(String start) {
if(start == "start") {
// Start the timer which will repeatingly execute the thread
} else {
// stop the timer
}
Y así es como ejecuto mi hilo: (Funciona bien sin temporizador)
Thread myThread = new MyThread(-5);
myThread.start();
¿Qué intenté?
Probé cualquier ejemplo que pude ver en Google (manejadores, temporizador), ninguno de ellos funcionó, logré iniciar el temporizador una vez, pero detenerlo no funcionó. El código más simple y comprensible que vi en mi investigación fue este:
new java.util.Timer().schedule(
new java.util.TimerTask() {
@Override
public void run() {
// your code here
}
},
5000
);