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

История уведомлений — это экран устройства, на котором пользователи могут видеть отложенные уведомления, несколько недавно отклоненных уведомлений и историю уведомлений за последний день. Это необязательная функция для OEM-производителей. Это не влияет на 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"