Histórico de notificações

O histórico de notificações é uma tela do dispositivo onde os usuários podem ver as notificações adiadas, um punhado de notificações descartadas recentemente e um histórico do último dia de notificações. É um recurso opcional para implementação pelos OEMs. Não há impacto em SoCs ou operadoras.

O histórico de notificações destina-se a abordar estes casos de uso:

  • Dispensa acidental : você descartou acidentalmente uma notificação e deseja dar uma olhada rápida no que era.
  • Notificações adiadas : você adiou uma notificação, mas deseja vê-la antes que o período de adiamento termine.
  • Solução de problemas: você acha que perdeu uma notificação. Você verifica o histórico de notificações para ver se houve uma notificação e se ela tocou. Se não o encontrar, verifique se uma notificação foi bloqueada. Você pode alterar as configurações de notificação no histórico de notificações.
  • Gerenciamento de notificação : você deseja alterar a forma como as notificações são disruptivas, portanto, use o histórico de notificações porque ele oferece uma fatia realista da carga diária de notificações, o que facilita a compreensão do escopo de suas alterações nos alertas e 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 log.
  • Adicione pontos de entrada ao log e a configuração para ativá-lo e desativá-lo.
  • Implemente a tela Histórico de notificações.

Os usuários podem desativar o histórico de notificações. Quando está desativado, todos os itens do histórico são excluídos e nenhum item é gravado no log.

Você pode 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 Notification History e como os dados são apresentados.

O período de retenção do histórico de notificações padrão é 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"