Android: Comment gérer que l'application est réduite par bouton HOME
Un problème est apparu il y a quelques jours.
J'ai une demande à l'écoute pour la localisation GPS. L'auditeur est un service d'arrière-plan qui fonctionne tout le temps, ce service enregistre les données au niveau de l'application et de chaque activité lit ces données. Donc, quand je presse le bouton de retour, je suis en mesure de rattraper ce cas et je peux arrêter le service, mais quand je presse le bouton d'ACCUEIL, le service est encore en travail, bien que l'application est en arrière-plan, ce qui consomme de la batterie, parce que le GPS fonctionne toujours. Comment puis-je gérer cet événement? Je ne veux pas arrêter tous les services quand l'utilisateur appuie sur le bouton HOME et les démarrer lorsque l'utilisateur sera de retour.
10x
- C'est une très vieille question et semble sans réponse. Juste essayer de donner mon meilleur solution: je comprends le problème n'est pas de la manipulation du bouton home, plutôt le cas de l'application passe en arrière-plan. Android donner la poignée pour des événements comme l'avant et l'arrière de la demande et je vous suggère de l'utiliser pour activer et désactiver votre service, respectivement. J'espère que cela aide 🙂
Vous devez vous connecter pour publier un commentaire.
Il semble que vous assistez à un bouton de retour, soit par l'intermédiaire d'un onKey la méthode... ou dans onStop. Vous devez placer le code dans le onPause() méthode pour s'assurer qu'il est utilisé chaque fois que l'application obtient backgrounded.
onResume()
.Vous ne pouvez pas gérer à la maison événements de bouton dans votre application Android. Google a fait pour un usage interne uniquement.
LIEN 1
LIEN 2
Vous pouvez créer un OnKeyListener, et de vérifier si la touche était à la Maison. Je n'ai jamais essayé, mais.
créer une activité personnalisée appelé customActivity Activité s'étend maintenant remplacer la méthode(en customActivity) pour attraper bouton d'accueil de l'événement et d'arrêter votre service(création & démarrage du service dans la classe d'application). S'étend désormais customActivity au lieu de l'Activité pour tout activity_class.
Long sur le bouton HOME, il fera appel au processus en cours d'exécution, sélectionnez celui que vous voulez et puis la sortie gracieusement.
OU
De la Maison -> paramètres -> application -> gérer les applications
vous pouvez tuer les processus indésirables.