J'ai du mal à trouver la documentation de la fonction TimerTask sur Android. J'ai besoin d'exécuter un thread à intervalles à l'aide d'une TimerTask mais je n'ai aucune idée de la façon de procéder. Tout conseil ou exemple serait grandement apprécié.
Vous utilisez un Timer
, et cela crée automatiquement un nouveau thread pour vous lorsque vous planifiez un TimerTask
en utilisant l'une des méthodes schedule
-.
Exemple:
Timer t = new Timer();
t.schedule(myTimerTask, 1000L);
Cela crée une minuterie exécutant myTimerTask
dans un thread appartenant à cette minuterie une fois par seconde.
J'ai implémenté quelque chose comme ça et cela fonctionne bien:
private Timer mTimer1;
private TimerTask mTt1;
private Handler mTimerHandler = new Handler();
private void stopTimer(){
if(mTimer1 != null){
mTimer1.cancel();
mTimer1.purge();
}
}
private void startTimer(){
mTimer1 = new Timer();
mTt1 = new TimerTask() {
public void run() {
mTimerHandler.post(new Runnable() {
public void run(){
//TODO
}
});
}
};
mTimer1.schedule(mTt1, 1, 5000);
}
C'est un exemple parfait pour la tâche du minuteur.
Timer timerObj = new Timer();
TimerTask timerTaskObj = new TimerTask() {
public void run() {
//perform your action here
}
};
timerObj.schedule(timerTaskObj, 0, 15000);