Bonjour,
Je suis en train de faire une application qui doit renvoyer des informations à un serveur régulièrement. J'ai donc fait un service qui lance un thread. Ce thread se charge d'ouvrir la connexion puis d'envoyer les informations régulièrement.
Je dispose d'une Activity qui permet de visualiser les traces avec un horodatage.
code simplifié :
Tout ca marche parfaitement, mais une fois qu'on est sur un vrai téléphone, au bout de quelques dizaines de secondes que l'écran s'est éteint, on reste bloqué dans le sleep
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 public class Mythread extends Thread { public void run() { // Ouverture de la connexion // Envoi d'infos régulièrement while (true) { trace("avant envoiInfos"); envoiInfos(); sleep(15000); } } }
exemple de traces :
Quelqu'un aurait-il une idée du pourquoi du comment ?11:08:00 | avant envoiInfos
11:08:15 | avant envoiInfos
11:08:30 | avant envoiInfos << extinction de l'écran
11:08:46 | avant envoiInfos
11:09:01 | avant envoiInfos
11:09:15 | avant envoiInfos
11:18:23 | avant envoiInfos << rallumage de l'écran, on est resté 9 minutes sans trace
11:18:38 | avant envoiInfos
...
Pour info, j'utilise des Threads parceque j'ai potentiellement pas mal de connexions à gérer. De plus ce code est dans une librairie qui sera aussi bien utilisée dans une appli java ordinaire que dans une appli android
Merci pour vos tuyaux !![]()
Partager