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

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