Question

Mon application utilise un service à distance pour la lecture audio. Je le fais pour que aucune activité est propriétaire de la lecture de l'audio - l'utilisateur peut déclencher un certain audio à lire d'une activité, et l'audio continuera à jouer comme ils naviguer dans l'application. Je, cependant, je veux dire service pour mettre en pause ou arrêter la lecture audio lorsque l'utilisateur « déchargera » l'application soit en dévissant, verrouillage de l'écran, ou de frapper la maison. Lorsque l'application est un activité, je faisais cela dans OnPause. Donc, je suppose que je suis essentiellement la recherche de « OnPause » au niveau application / tâche. Est-ce que cette chose exister? Sinon, quelle est la « meilleure pratique » de se faire avisé que la tâche a été mis en attente par l'utilisateur soit sauvegarder tous les sortir ou frapper la maison?

Était-ce utile?

La solution

Hmmmm ... malheureusement, je pense qu'il n'y a pas là de réponse facile. Je pense que ce pourquoi les médias lecteur intégré et Pandora utilisent une notification, de laisser l'utilisateur facilement revenir à l'application pour le faire taire.

Si votre flux d'activité est assez linéaire, puis la sauvegarde de l'application est le même que la sauvegarde de l'activité initiale.

Une astuce je dans un scénario était d'avoir chaque activité en informer le service onPause() et onResume(). Le service surveillerait ces derniers, et si elle a un onPause() sans onResume() ultérieure dans un certain temps, on a supposé que l'utilisateur a disparu (HOME, appel entrant, message texte entrant, répondant à une application via une notification, etc. ).

Vous pouvez aussi regarder pour ACTION_SCREEN_OFF Intents de diffusion, pour gérer ce scénario.

Je suis désolé que je n'ai pas une meilleure réponse argent de balle -. Peut-être quelqu'un d'autre aura une meilleure idée

Autres conseils

Je suis dans une situation un peu similaire, et essentiellement je fait ce que Mark a suggéré; Au lieu d'une notification séparée, j'avais simplement le service compte les appels à mon registerCallback () et API (unregisterCallback), chaque activité nécessaire pour faire de toute façon.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top