Aller au contenu

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

Jorodan

Comment marche un service qui réalise une tâche à intervalle régulier?

Recommended Posts

Salut les jeunes,

J'ai un service pour lequel je donne comme mission d'appeler un web service, mettre à jour des données dans l'application et alerter l'activité principale et les widgets pour qu'ils se rafraichissent avec les nouvelles données.

Actuellement, je récupère toutes les informations pour le service dans le onCreate et je mets en place un singleton.

Dans le onStart, je lance le service en utilisant un Handler. A cet handler, je passe un Runnable qui :

1- exécute une AsyncTask qui fait l'appel au web service et la mise à jour des données dans le doInBackground et alerte les éléments dans le onPostExecute

2- se met en queue du handler dans x minutes.

Le problème c'est que je n'arrive pas à tout arrêter correctement.

Alors je me suis dit que le handler était en trop.

Est ce que se passer du handler dans le onStart du service serait une meilleure idée. Pour faire cela, je serais parti sur une boucle infinie qui fais un sleep de X minutes à chaque passage de la boucle.

Qu'en pensez vous ? Qu'est ce qui est le mieux ?

Partager ce message


Lien à poster
Partager sur d’autres sites

AlarmManager

Pour appeler ton service toutes les X minutes sans qui occupe de ressources entre temps.

Partager ce message


Lien à poster
Partager sur d’autres sites

bah après ta pas trop le choix, si tu veux pas utiliser Timer t'as pu qu'a faire Handler.postDelayed() et de la récursivité

Partager ce message


Lien à poster
Partager sur d’autres sites





×
×
  • Créer...