Comment arrêter Android de service lorsque l'application est fermée
Je suis d'essayer de maintenir un service fonctionnant de façon continue jusqu'à l'utilisateur de fermer l'application.
Je suis en utilisant startService()
méthode de onCreate()
méthode de mon activité principale et stopService()
dans onDestroy()
méthode.
Maintenant j'ai un problème, car il semble que mon activité principale meurt et est re-créé lorsque j'effectue une rotation de l'appareil ou lorsque je désactive l'écran.
Comment puis-je arrêter mon service uniquement lorsque l'utilisateur cesse d'application manuellement?
- Les utilisateurs n'ont pas vraiment fermer les applications Android. Qu'entendez-vous par "utilisateur de fermer les app"?
- Je veux dire intentionnelle app fermer. Après que l'utilisateur glisser hors de l'app sur "applications récentes" de l'écran.
Vous devez vous connecter pour publier un commentaire.
Définir le ci-dessous attribut dans la balise de service dans le fichier de manifeste,
l'ajout de ce qui fera appel à la
ondestroy()
du service lorsque la tâche est supprimée (app fermé à partir de la liste des applications récentes).Qui n'est pas "fermer l'application", en termes de Android. C'est "l'élimination de la tâche" (ou parfois "arrêt de la tâche" (Google n'est pas très cohérent sur la terminologie).
Votre service doit être appelé avec
onTaskRemoved()
lorsque la tâche est supprimée. Cependant, qui doit être à la fois lorsque l'utilisateur supprime manuellement la tâche via l'écran d'aperçu (un.k.un., récente-liste des tâches) et lorsque la tâche naturellement s'en va sur Android 4.4 et en dessous, car la tâche est trop vieux.Commencez par ajouter le android:configChanges nœud à votre Activité manifeste du nœud pour stopper le redémarrage de l'activité de l'appareil en rotation.
Maintenant pour la détection de la fermeture des applications de l'événement, pensez à la manière utilisateur peut fermer l'app manuellement. Dans android, en appuyant sur un bouton de retour ou le bouton d'accueil.
Afin de mettre un écouteur d'événement pour en revenir & bouton de la maison et de mettre fin au service.