Bonjour,
Dans le cadre d'un projet nous devons développer une application.
Nous souhaitons pouvoir connaitre la position de l'utilisateur afin d'envoyer un SMS lorsqu'il arrive à la destination voulue.
Nous avons réussi a le faire grâce à des services :
- Un service SMS
- un service de géolocalisation utilisant LocationManager
le service de géolocalisation est appelé par le service de SMS qui est lui lancé au click sur un bouton.
Une fois les deux services lancés, le servceGPS écoute les changements de position (onLocationChanged) et dans un certains cas, envoie un événement (sendBroadcast).
Notre service de SMS réceptionne cet événement et envoie un SMS.
Maintenant que je vous ai exposé ce que nous avons, voici le petit problème que nous rencontrons :
- Lorsque que l'on quitte l'application (ou qu'elle passe en second plan), les services "s'arrêtent" (si j'ai bien compris ils sont détruits puis se relance ?) et rien ne se passe lorsque l'utilisateur atteint la destination voulue. Ce n'est qu'une fois l'application de retour au premier plan que tout s'effectue.
J'ai donc fait plusieurs recherches et quelques tests, notamment concernant le fait de créer un nouveau thread pour mon service mais je ne suis vraiment pas sur de ce que je fais .
J'aurais donc voulu savoir comment vous auriez fait pour que les services fonctionnent et communiquent bien, même quand l'application est en arrière plan.
Je ne montre pas le code car un peu imbuvable mais je le garde à disposition si quelqu'un souhaite le consulter pour mieux comprendre. Sinon je suis la pour répondre aux questions !
Merci d'avance,
Partager