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?

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top