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

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

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

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

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

  • Настройки : 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"