Android de compte à rebours de la minuterie en arrière-plan
J'ai une application Android à gérer un countdowntimer (classe CountDownTimer) qu'il est indiqué dans l'écran d'application, afin de montrer comment beaucoup de temps à gauche pour arriver 00:00.
Mon problème maintenant c'est que quand je presse le bouton d'accueil ou lorsque je lance une autre application l'application/de la minuterie ne fonctionne pas en arrière-plan. Donc je pense que je doit faire un service, mais comment? Des collègues m'ont dit que je dois faire quelque chose de spécial lorsque l'appareil est verrouillé pour que la minuterie pour continuer. Je veux réveiller une fois arrivé à 0.
Quelle est la meilleure façon de le faire?
OriginalL'auteur Tibor | 2011-11-14
Vous devez vous connecter pour publier un commentaire.
Vous devez créer votre CountDownTimer de la classe et de l'étendre à partir de la classe de Service.
En agissant ainsi, votre activité devient un service et qu'il fonctionne dans le fond, même si vous fermez
l'application ou l'écran ce n'est pas grave il n'a tout simplement la tâche que vous lui avez attribué à l'arrière-plan .
Je suis également à la recherche dans asyntask, qu'il met à jour l'INTERFACE utilisateur facilement. Si j'envoie mon application d'arrière-plan (c'est à dire le lancement d'une autre application), cette configuration peut être tué?
Aussi une autre question: si je prolonge un service comme vous le dites, j'ai besoin de quelque chose de spécial pour mettre à jour l'appel de la classe de l'INTERFACE utilisateur? thx
Ouais il va mise à jour de l'INTERFACE utilisateur correctement si votre service est bon travail et votre AsyncTask est écrit bien.Même si le programme est fermé et que vous ouvrez une autre application de votre service sera exécuté en arrière-plan et de faire le travail.Vous n'avez pas besoin de faire quelque chose de spécial si vous étendez le service c'est la même chose et AsyncTask sera mise à jour de l'Interface utilisateur de sorte que vous va faire l'appel à partir de là.
Je pense, en Asyntask dans le thread de l'INTERFACE utilisateur, pas dans un service, dans le but d'essayer de service, qui semble complexe pour moi.
OriginalL'auteur Serdar Dogruyol
Tout d'abord, Vous devez utiliser un
Handler
pour activer la minuterie, mais de vérifier ce grand post pour voir si cela aide:Comment mettre un timer sur android
Développeur Android Ressources toucher sur ce sujet ainsi:
http://developer.android.com/resources/articles/timed-ui-updates.html
OriginalL'auteur SQLiteNoob
La façon la plus simple est d'utiliser le service avec minuterie asynchrone. Vous pouvez télécharger le code source à partir d'ici (Android Compte À Rebours S'Exécuter En Arrière-Plan)
Classe De Service:
OriginalL'auteur Deepshikha Puri