Android:Compito o di un'applicazione equivalente di onPause
-
20-09-2019 - |
Domanda
La mia applicazione utilizza un servizio remoto per la riproduzione audio.Faccio questo in modo che nessuna attività possiede la riproduzione dell'audio - l'utente può attivare alcuni audio per essere giocato da un'Attività, e l'audio continuerà a giocare come navigare in tutto l'app.Ho, tuttavia, vuole dire la servizio per mettere in pausa o interrompere la riproduzione di audio quando l'utente "scarica" l'app da cori, blocco display, o di colpire in Casa.Quando l'app è stata una sola attività, stavo facendo questo in onPause.Quindi, credo di essere essenzialmente la ricerca di "onPause" a l'applicazione e/o livello di attività.Tale cosa esiste?Se no, qual è la "best practice" modo di ottenere notificato che l'attività è stata messa in attesa da un utente di backup di tutti i via d'uscita o di colpire in Casa?
Soluzione
Hmmmm...purtroppo, ho il sospetto che non esiste una risposta semplice non c'.Penso che sia perché il built-in media player e Pandora utilizzare una notifica, per consentire all'utente di tornare alla app per farlo stare zitto.
Se il flusso di attività è abbastanza lineare, quindi, backup di applicazione è la stessa come supporto iniziale di attività.
Un trucco che ho usato in uno scenario per ogni singola attività di notificare il servizio in onPause()
e onResume()
.Il servizio di monitoraggio di questi, e se ha ottenuto un onPause()
senza una successiva onResume()
in un certo periodo di tempo, è stato assunto l'utente era andato di CASA, chiamata in arrivo, sms in arrivo, di rispondere ad alcune app tramite una notifica, etc.).
Si può anche guardare per ACTION_SCREEN_OFF
broadcast Intents
, per gestire tale scenario.
Mi dispiace che non ho una migliore pallottola d'argento risposta-forse qualcun altro avrà una migliore idea.
Altri suggerimenti
Sono stato in una situazione in qualche modo simile, e in pratica ho fatto quello che Mark ha suggerito;Piuttosto che una notifica separata, ho semplicemente avuto il servizio contare le chiamate al mio registerCallback() e unregisterCallback() Api, che ogni attività necessaria per fare comunque.