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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
threadMessage.what  = ALIVE;
?

Merci pour votre aide