Antes que nada, no podía elegir el método a usar, estoy leyendo durante horas y alguien dice 'utilizar', alguien dice usar 'Temporizador'. Esto es lo que trato de lograr:Android - Ejecuta un hilo de forma repetida dentro de un temporizador
En las preferencias, hay una configuración (casilla de verificación) para activar/desactivar el trabajo repetido. Cuando se marca esa casilla de verificación, el temporizador debería comenzar a funcionar y el hilo debería ejecutarse cada x segundos. Como la casilla de verificación está desmarcada, el cronómetro debe detenerse.
Aquí está mi código:
Comprobación de que si casilla de verificación está marcada o no, si se marca nula '' refreshAllServers se ejecutará la 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 vacío 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 yo haga mi hilo: (funciona bien sin temporizador)
Thread myThread = new MyThread(-5);
myThread.start();
Lo he intentado?
Probé cualquier ejemplo que pude ver de Google (controladores, temporizador) ninguno de ellos funcionó, logré iniciar el temporizador una vez pero detenerlo no funcionó. El más simple & código comprensible que vi en mi investigación fue la siguiente:
new java.util.Timer().schedule(
new java.util.TimerTask() {
@Override
public void run() {
// your code here
}
},
5000
);
ver si la respuesta [aquí] (http://stackoverflow.com/questions/8098806/where-do-i-create-and-use-scheduledthreadpoolexecutor-timertask-or-handler/8102488#8102488) ayuda – yorkw