История уведомлений

История уведомлений – это экран устройства, на котором пользователи могут видеть отложенные уведомления, несколько недавно закрытых уведомлений и историю уведомлений за последний день. Производители оригинального оборудования могут внедрять ее по желанию. Это не влияет на однокристальные системы и операторов связи.

История уведомлений предназначена для следующих целей:

  • Случайное закрытие. Вы случайно закрыли уведомление и хотите быстро посмотреть, что в нем было.
  • Отложенные уведомления. Вы отложили уведомление, но хотите посмотреть его до окончания периода отсрочки.
  • Устранение неполадок. Вы считаете, что пропустили уведомление. Вы можете проверить историю уведомлений, чтобы узнать, было ли уведомление и вибрировал ли телефон. Если вы не можете найти его, проверьте, не было ли заблокировано уведомление. Настройки уведомлений можно изменить в истории уведомлений.
  • Управление уведомлениями. Вы хотите изменить настройки уведомлений, чтобы они меньше вас отвлекали. Для этого вы используете историю уведомлений, поскольку она дает реалистичное представление о ежедневной нагрузке уведомлений, что позволяет легко понять масштаб изменений в оповещениях, блокировке и т. д.

Доступны следующие эталонные реализации компонентов истории уведомлений:

  • Настройки: packages/apps/Settings/src/com/android/settings/notification/history
  • Системный сервер: com.android.server.notification.NotificationHistory.*.java

Чтобы включить историю уведомлений, выполните следующие действия:

  • Записывать события уведомлений в журнал.
  • Добавлены точки входа в журнал и настройка для его включения и отключения.
  • Реализуйте экран истории уведомлений.

Пользователи могут отключить историю уведомлений. В этом случае все записи в ней будут удалены, а новые добавляться не будут.

Вы можете задать количество дней, в течение которых уведомления будут показываться в истории уведомлений, используя константу HISTORY_RETENTION_DAYS в классе NotificationHistoryDatabase. Вы также можете изменить разделы, которые будут показываться на экране истории уведомлений, и способ представления данных.

По умолчанию история уведомлений хранится 24 часа.

Для каждого компонента кода предоставляются следующие модульные тесты:

  • Модульное тестирование системного сервера: FrameworksUiServicesTests
  • Модульное тестирование настроек: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.notification"