O Android 7.0 transfere funcionalidades relacionadas às notificações de chamadas do serviço do sistema Telecom na plataforma Android para o aplicativo Dialer. Anteriormente, a responsabilidade pela exibição de notificações relacionadas às chamadas era dividida entre a Telecom e o aplicativo Dialer padrão, criando inconsistências de comportamento. No Android 7.0, o Dialer assume toda a responsabilidade pelo tratamento das notificações de chamadas.
Comportamento no Android 6.x e versões anteriores
Nas versões anteriores do Android, Telecom e Dialer dividiam as responsabilidades conforme descrito abaixo:
Funcionalidade | Feito pela Telecom | Feito pelo 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 (chamar correio de voz) | Sim (telefonia) | Não |
Notificações visuais de correio de voz | Não | Sim |
Exemplos de comportamento inconsistente causado por esta divisão de responsabilidade incluem:
- A Telecom foi responsável por iniciar a campainha/vibrador, mas o discador foi responsável por exibir a notificação de chamada recebida. Se o discador demorar para iniciar, isso pode resultar no início do toque vários segundos antes da notificação de chamada recebida ser exibida.
- A Telecom foi responsável por exibir 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 do Telecom e a interface do discador (como o registro de chamadas).
Comportamento no Android 7.0 e posterior
O discador Android Open Source Project (AOSP) 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
Dialer/android/dialer/calllog/MissedCallNotificationReceiver.java
Dialer/android/dialer/calllog/MissedCallNotifier.java - Reproduzindo 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 VVM
frameworks/base/telephony/java/android/telephony/TelephonyManager.java
Telefonia/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 Notificações de novas chamadas telefônicas, permitindo classificar a importância das chamadas recebidas .
Implementação
Os implementadores de dispositivos podem precisar atualizar os componentes de Telecomunicações/Telefonia que expõem APIs disponíveis para uso pelo discador padrão.