O Android 7.0 move a funcionalidade relacionada às notificações de chamada do serviço de sistema de telecomunicações na plataforma Android para o app Discador. Anteriormente, a responsabilidade de mostrar notificações relacionadas a chamadas era dividida entre o Telecom e o app Discador padrão, criando inconsistências no comportamento. No Android 7.0, o discador assume toda a responsabilidade pelo processamento de notificações de chamada.
Comportamento no Android 6.x e versões anteriores
Em versões anteriores do Android, o Telecom e o Discador dividiam as responsabilidades, conforme descrito abaixo:
Funcionalidade | Feito por telecomunicações | Feito pelo discador |
---|---|---|
Notificação de ligação recebida | Sim (tocar, vibrar) | Sim (notificação na tela, ID de chamada) |
Enviar para o correio de voz | Sim | Não |
Toque personalizado | Sim | Não |
Notificações de chamada perdida | Sim | Não |
Indicador de mensagem em espera (correio de voz) | Sim (telefonia) | Não |
Notificações de correio de voz visual | Não | Sim |
Exemplos de comportamento inconsistente causado por essa divisão de responsabilidade incluíram:
- O componente de telecomunicações era responsável por iniciar o toque/vibrador, mas o discador era responsável por mostrar a notificação de chamada recebida. Se o discador demorar para iniciar, o toque pode começar vários segundos antes que a notificação de chamada seja exibida.
- A operadora de telefonia era responsável por mostrar notificações de chamadas perdidas. Como os recursos exclusivos (como o identificador de chamadas do Google) não funcionam nessas notificações, isso pode resultar em inconsistências entre as notificações de telecomunicações e a interface do discador (como o registro de chamadas).
Comportamento no Android 7.0 e versões mais recentes
O discador do Android Open Source Project (AOSP) implementa a nova funcionalidade. Para mais detalhes, consulte a documentação a seguir:
- Notificações de chamada perdida
Telecom/src/com/android/server/telecom/ui/MissedCallNotifierImpl.java
Dialer/android/dialer/calllog/MissedCallNotificationReceiver.java
Dialer/android/dialer/calllog/MissedCallNotifier.java - Reprodução de toques:
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 - Notificações 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 notificação para chamadas no Android 12 ou mais recente
Para dispositivos com o Android 12 ou versões mais recentes, para oferecer
uma experiência consistente do usuário para chamadas, recomendamos que os apps usem o
estilo de notificação
CallStyle
para chamadas recebidas e em andamento.
Para mais informações, consulte
Novas notificações de chamadas telefônicas que possibilitam a classificação da importância
das chamadas recebidas.
Implementação
Os implementadores de dispositivos podem precisar atualizar os componentes de telefonia/telecomunicações que expõem APIs disponíveis para uso pelo discador padrão.