Uccidi app sul chiamata in arrivo
-
26-10-2019 - |
Domanda
Speriamo che un compito facile per qualcuno, ma mi ha causato problemi.
Ho un app che loop i file audio. Non ho alcun codice nella onPause come voglio l'applicazione di continuare a giocare la musica in sottofondo.
Adesso mi serve l'applicazione per vicino se si riceve una chiamata in arrivo.
posso aggiungere il codice per onPause e chiudere l'attività e fermare il mediaplayer. Tuttavia, questo si ferma l'applicazione se qualsiasi applicazione viene avviata.
Come posso rilevare una chiamata in arrivo per verificare la presenza all'interno onPause?
Soluzione
Per rilevare la chiamata in arrivo, abbiamo registrare un BroadcastReceiver per la azione android.intent.action.PHONE_STATE. Questo sarà trasmesso quando c'è un cambiamento di stato del telefono. L'intento di ricezione avrà una variabile di corda in più TelephonyManager.EXTRA_STATE che descrive lo stato del telefono. Se questo stato è TelephonyManager.EXTRA_STATE_RINGING poi ci sarà un'altra variabile stringa in più TelephonyManager.EXTRA_INCOMING_NUMBER. Questa variabile contiene il il numero di telefono in entrata. Si noti che questa variabile non sarà presente quando lo stato non è TelephonyManager.EXTRA_STATE_RINGING.
fonte: http: //www.androiddevblog. net / android / rilevatori-entrata-e-uscita-chiamate-in-android
In sostanza, una volta che si registra un ricevitore di broadcast è possibile ascoltare per la notifica trasmissione che si sono interessati al vostro telefono, e poi agire di conseguenza.
Altri suggerimenti
Non c'è bisogno di. Android prende cura di esso pausa vostra applicazione - si deve utilizzare la telefonia Manager per determinare se interrompere il vostro aplication o meno. Modo corretto sarebbe quello di gestire questo in onPause () Metodo