Pregunta

Esperemos que sea fácil para alguien, pero me causa problemas.

Tengo una aplicación que bucea archivos de sonido. No tengo código en OnPause, ya que quiero que la aplicación continúe reproduciendo música en segundo plano.

Ahora necesito que se cierre la aplicación si se recibe una llamada entrante.

Puedo agregar código a OnPause y cerrar la actividad y detener el MediaPlayer. Sin embargo, esto detiene la aplicación si se inicia alguna aplicación.

¿Cómo puedo detectar una llamada entrante para verificar por dentro de PAUSE?

¿Fue útil?

Solución

Para detectar la llamada entrante, registramos un BroadcastreCeiver para la acción android.intent.action.phone_state. Esto se transmitirá cuando haya un cambio en el estado del teléfono. La intención de recepción tendrá una variable de cadena adicional TelephonyManager.extra_state que describe el estado del teléfono. Si este estado es TelephonyManager.extra_state_ringing, habrá otra variable adicional variable TelephonyManager.extra_incoming_number. Esta variable contiene el número de teléfono entrante. Tenga en cuenta que esta variable no estará presente cuando el estado no sea telefonymanager.extra_state_ringing.

fuente : http://www.androiddevblog.net/android/detecting-incoming-and-uturing-calls-in-android

Básicamente, una vez que registre un receptor de transmisión, puede escuchar la notificación de transmisión que le interesa su teléfono y luego actuar en consecuencia.

Otros consejos

Usted no tiene que. Android se ocupa de la pausa de su aplicación: debe usar el administrador de telefonía para determinar si detiene su aplicación o no. Manera adecuada sería manejar esto en el método ondPause ()

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top