O Android 7.0 move a funcionalidade relacionada às notificações de chamadas do serviço do sistema Telecom na plataforma Android para o aplicativo Dialer. Anteriormente, a responsabilidade de exibir notificações relacionadas a chamadas era dividida entre Telecom e o aplicativo Discador padrão, criando inconsistências de comportamento. No Android 7.0, o Discador assume toda a responsabilidade pelo tratamento das notificações de chamadas.
Comportamento no Android 6.xe anterior
Nas versões anteriores do Android, Telecom e Discador dividem as responsabilidades conforme descrito abaixo:
Funcionalidade | Feito por Telecom | Feito por Discador |
---|---|---|
Notificação de chamada recebida | Sim (tocando, vibrando) | Sim (exibição de notificação, identificador de chamadas) |
Enviar para correio de voz | sim | Não |
Toque personalizado | sim | Não |
Notificações de chamadas perdidas | sim | Não |
Indicador de mensagem em espera (correio de voz de chamada) | Sim (telefonia) | Não |
Notificações de correio de voz visuais | Não | sim |
Exemplos de comportamento inconsistente causado por essa divisão de responsabilidades incluem:
- A Telecom era responsável por iniciar a campainha/vibrador, mas o discador era responsável por exibir a notificação de chamada recebida. Se o discador demorar para inicializar, isso pode resultar no início do toque vários segundos antes que a notificação de chamada recebida seja exibida.
- A Telecom era responsável por exibir as notificações de chamadas perdidas. Como os recursos proprietários (como o identificador de chamadas do Google) não funcionam nessas notificações, isso pode resultar em inconsistências entre as notificações da Telecom e a interface do discador (como o registro de chamadas).
Comportamento no Android 7.0 e posterior
O Android Open Source Project (AOSP) Dialer implementa a nova funcionalidade. Para obter detalhes, consulte a seguinte documentação:
- Notificações de chamadas perdidas
Telecom/src/com/android/server/telecom/ui/MissedCallNotifierImpl.java
Discador/android/dialer/calllog/MissedCallNotificationReceiver.java
Discador/android/dialer/calllog/MissedCallNotifier.java - Tocando toques:
frameworks/base/telecomm/java/android/telecom/InCallService.java
Telecom/src/com/android/server/telecom/InCallController.java
Discador/java/com/android/incallui/ringtone/
Dialer/java/com/android/incallui/StatusBarNotifier.java - Notificações 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 notificação para chamadas no Android 12 ou superior
Para dispositivos com Android 12 ou superior, para fornecer uma experiência de usuário consistente para chamadas, recomendamos que os aplicativos usem o estilo de notificação CallStyle
para chamadas recebidas e em andamento. Para obter mais informações, consulte Novas notificações de chamadas telefônicas que permitem classificar a importância das chamadas recebidas .
Implementação
Os implementadores de dispositivos podem precisar atualizar componentes de Telecom/Telefonia que expõem APIs disponíveis para uso pelo discador padrão.