O Android 7.0 move a funcionalidade relacionada a notificações de chamadas do serviço do sistema Telecom na plataforma Android para o app Telefone. Antes, a responsabilidade de mostrar notificações relacionadas a chamadas era dividida entre o Telecom e o app Telefone padrão, criando inconsistências no comportamento. No Android 7.0, o discador assume toda a responsabilidade pelo processamento de notificações de chamadas.
Comportamento no Android 6.x e em versões anteriores
Em versões anteriores do Android, o Telecom e o app Telefone dividiam as responsabilidades, conforme descrito na tabela a seguir:
| Funcionalidade | Feito pela Telecom | Feito pelo Telefone |
|---|---|---|
| Notificação de ligação recebida | Sim (tocar, vibrar) | Sim (exibição de notificações, identificador de chamadas) |
| 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 (ligar para o 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 incluem:
- O Telecom 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 da notificação de chamada recebida aparecer.
- A Telecom era responsável por mostrar notificações de chamadas perdidas. Como 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 de telecomunicações e a interface do usuário 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 seguinte documentação:
- 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, recomendamos que os apps usem o estilo de notificação
CallStyle para chamadas recebidas e em andamento, oferecendo
uma experiência do usuário consistente.
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 talvez precisem atualizar os componentes de telecomunicações/telefonia que expõem APIs disponíveis para uso pelo discador padrão.