O histórico de notificações é uma tela do dispositivo em que os usuários podem ver notificações adiadas, algumas notificações descartadas recentemente e um histórico do último dia de notificações. É um recurso opcional para OEMs implementarem. Não há impacto nos SoCs ou nas operadoras.
O histórico de notificações destina-se a estes casos de uso:
- Dispensa acidental: você dispensou uma notificação acidentalmente e quer conferir o que ela era.
- Notificações adiadas: você adicionou uma notificação à lista de espera, mas quer verificar antes do fim do período de adiamento.
- Solução de problemas: você acha que perdeu uma notificação. Você confere o histórico de notificações para saber se houve uma notificação e se ela fez um som. Caso não a encontre, verifique se uma notificação foi bloqueada. Você pode mudar as configurações de notificação no histórico de notificações.
- Gerenciamento de notificações: você quer mudar a forma como as notificações interruptivas são exibidas, então você usa o histórico de notificações porque ele oferece uma fatia realista da carga diária de notificações, o que facilita entender o escopo das suas mudanças para alertas, bloqueios etc.
As implementações de referência desses componentes do histórico de notificações estão disponíveis:
- Configurações:
packages/apps/Settings/src/com/android/settings/notification/history
- Servidor do sistema:
com.android.server.notification.NotificationHistory.*.java
Estas são as principais etapas para implementar o histórico de notificações:
- Grave eventos de notificação no registro.
- Adicione pontos de entrada ao registro e a configuração para ativá-lo e desativá-lo.
- Implementar a tela "Histórico de notificações".
Os usuários podem desativar o histórico de notificações. Quando ele está desativado, todos os itens do histórico são excluídos e nenhum item é gravado no registro.
É possível definir o número de dias em que as notificações aparecem no histórico
de notificações usando a constante HISTORY_RETENTION_DAYS
na
classe NotificationHistoryDatabase
. Você também pode modificar quais
seções aparecem na tela "Histórico de notificações" e como os dados são
apresentados.
O período de armazenamento padrão do histórico de notificações é de 24 horas.
Esses testes de unidade são fornecidos para cada componente do código:
- Testes de unidade do servidor do sistema:
FrameworksUiServicesTests
- Testes de unidade de configurações:
make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.notification"