Action / Message périodique
Bonjour à tous,
J'ai actuellement dans mon application plusieurs Thread qui tourne en plus du Thread d'interface. Pour l'un de ces Thread j'aurais besoin de lui envoyer un message periodiquement , toutes les 15 secondes.
Le thread concerné implémente un looper et un handler afin de gérer les messages qui lui sont envoyés. Il a également accès au Handler du Thread d'UI pour pouvoir retourner des message à l'interface.
Le Thread :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
public void run()
{
Looper.prepare();
this.threadHandler = initHandler();
// Message vers l'UI
this.message = this.activityHandler.obtainMessage();
this.message.what = CONNECTED;
activityHandler.sendMessage(this.message);
// Début de la gestion de message thread
Looper.loop();
}
private Handler initHandler()
{
return new Handler() {
public void handleMessage(Message msg)
{
switch(msg.what)
{
case AUTH :
{
auth();
break;
}
case ALIVE :
{
sendAlive();
break;
}
}
}
};
} |
Du coté de l'activité j'ai quelque chose comme celà :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
public void onResume()
{
super.onResume();
//Lancement du Thread
this.thread = new MyThread(activityHandler);
// Récupération de l'handler du thread
this.threadHandler = this.thread.gethandler();
threadMessage = this.threadHandler.obtainMessage();
threadMessage.what = AUTH;
// Envoi d'un message au Thread
this.threadHandler.sendMessage(threadMessage);
//Appel Periodique
....
} |
Comment puis je simplement soit à l'intérieur du Thread soit depuis l'activité appelé periodiquement le message
Code:
threadMessage.what = ALIVE;
?
Merci pour votre aide