Pasar un mensaje a la actividad para cerrarse

Tengo un PhoneStateListener que escucha las llamadas entrantes y los estados inactivos de llamadas. En la llamada entrante, comienzo una actividad para superponer mi pantalla sobre InCallScreen por defecto y al presionar Fin de llamada, cierro la actividad.

Pero hay un problema cuando la persona que llama finaliza la llamada antes de que la recojamos (llamada perdida para nosotros), en cuyo caso, mi actividad no sabe que debería cerrarse.

¿Qué mecanismo debo usar para pasar este mensaje a la actividad, para que sepa cuándo cerrarlo?

Guía de Pls. Omkar Ghaisas

0

2 Respuestas

Creo que al agregar finish (); al PhoneStateListener debería terminar la Activity por usted.

0
agregado

La API de telefonía podría ser de alguna utilidad. Puede usarlo para monitorear si una llamada está en progreso, y una vez que finaliza la llamada, llame a finish() en su actividad.

0
agregado
Llamar al final desde dentro de la actividad para cerrarla es comprensible, pero ¿cómo hago para que el receptor de difusión o la clase de escucha de estado del teléfono invoquen un final() en la actividad que está activa en la pantalla? Supongo que necesitaría implementar un BroadcastReceiver dentro de la actividad en sí y luego escuchar un estado particular y luego al alcanzar un estado de llamada dado, llamar a finish (); ?
agregado el autor omkar.ghaisas, fuente