Android 7.0 traslada la funcionalidad relacionada con las notificaciones de llamadas del servicio del sistema de telecomunicaciones en la plataforma de Android a la app de Teléfono. Anteriormente, la responsabilidad de mostrar notificaciones relacionadas con las llamadas se dividía entre Telecom y la app de Teléfono predeterminada, lo que generaba inconsistencias en el comportamiento. En Android 7.0, el selector de llamadas asume toda la responsabilidad de controlar las notificaciones de llamadas.
Comportamiento en Android 6.x y versiones anteriores
En versiones anteriores de Android, Telecom y Dialer dividían las responsabilidades como se describe a continuación:
Funcionalidad | Realizado por Telecom | Realizado por el marcador |
---|---|---|
Notificación de llamada entrante | Sí (sonar, vibrar) | Sí (pantalla de notificaciones, identificador de llamadas) |
Enviar a buzón de voz | Sí | No |
Tono personalizado | Sí | No |
Notificaciones de llamadas perdidas | Sí | No |
Indicador de mensaje en espera (llamar al buzón de voz) | Sí (telefonía) | No |
Notificaciones del buzón de voz visual | No | Sí |
Estos son algunos ejemplos de comportamiento incoherente causado por esta división de responsabilidades:
- El servicio de telecomunicaciones era responsable de iniciar el timbre o el vibrador, pero el dialer era responsable de mostrar la notificación de llamada entrante. Si el selector es lento para iniciarse, es posible que el tono de llamada comience varios segundos antes de que se muestre la notificación de llamada entrante.
- Telecom era responsable de mostrar las notificaciones de llamadas perdidas. Como las funciones propietarias (como el identificador de llamadas de Google) no funcionan en estas notificaciones, esto podría generar inconsistencias entre las notificaciones de Telecom y la IU del Dialer (como el registro de llamadas).
Comportamiento en Android 7.0 y versiones posteriores
El Dialer del Proyecto de código abierto de Android (AOSP) implementa la nueva funcionalidad. Para obtener más información, consulta la siguiente documentación:
- Notificaciones de llamadas perdidas
Telecom/src/com/android/server/telecom/ui/MissedCallNotifierImpl.java
Dialer/android/dialer/calllog/MissedCallNotificationReceiver.java
Dialer/android/dialer/calllog/MissedCallNotifier.java - Reproducción de tonos de llamada:
frameworks/base/telecomm/java/android/telecom/InCallService.java
Telecom/src/com/android/server/telecom/InCallController.java
Dialer/java/com/android/incallui/ringtone/
Dialer/java/com/android/incallui/StatusBarNotifier.java - Notificaciones de VVM
frameworks/base/telephony/java/android/telephony/TelephonyManager.java
Telephony/src/com/android/phone/PhoneInterfaceManager.java
Dialer/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java
Estilo de notificación para llamadas en Android 12 o versiones posteriores
Para los dispositivos que ejecutan Android 12 o versiones posteriores, para proporcionar una experiencia del usuario coherente para las llamadas, recomendamos que las apps usen el estilo de notificación
CallStyle
para las llamadas entrantes y en curso.
Para obtener más información, consulta
Notificaciones nuevas de llamadas telefónicas que permiten clasificar la importancia de las llamadas entrantes.
Implementación
Es posible que los implementadores de dispositivos deban actualizar los componentes de telecomunicaciones o telefonía que exponen las APIs disponibles para que las use el Dialer predeterminado.