O histórico de notificações é uma tela do dispositivo em que os usuários podem ver notificações adiadas, algumas notificações dispensadas recentemente e um histórico do último dia de notificações. É um recurso opcional para os OEMs implementarem. Não há impacto em SoCs ou operadoras.
O histórico de notificações foi criado para atender a estes casos de uso:
- Descartar por acidente: você descartou uma notificação por acidente e quer saber o que era.
- Notificações adiadas: você adiou uma notificação, mas quer vê-la antes do fim do período de adiamento.
- Solução de problemas: você acha que perdeu uma notificação. Você verifica o histórico de notificações para saber se houve uma notificação e se ela tocou. Se você não encontrar, verifique se uma notificação foi bloqueada. É possível mudar as configurações de notificação no histórico de notificações.
- Gerenciamento de notificações: você quer mudar o nível de interrupção das notificações. Por isso, usa o histórico de notificações, que oferece uma visão realista da carga diária de notificações. Assim, é fácil entender o escopo das mudanças feitas em alertas, bloqueios etc.
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:
- Grava eventos de notificação no registro.
- Adicione pontos de entrada ao registro e a configuração para ativar e desativar.
- Implemente a tela do 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 padrão de retençã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"