通知履歴

通知履歴とは、ユーザーがスヌーズした通知、最近閉じた通知の一部、最後に通知が行われた日の履歴が表示される、デバイス上の画面です。これは OEM が実装するオプションの機能です。 SoC や携帯通信会社は影響を受けません。

通知履歴は、次のようなユースケースに対処するために使用します。

  • 誤って閉じた通知: 通知を誤って閉じてしまい、その内容をすばやく確認したい場合。
  • スヌーズした通知: 通知をスヌーズしたが、スヌーズ期間が終了する前に通知を表示したい場合。
  • トラブルシューティング: 通知を見落とした可能性がある場合。通知履歴をチェックして、通知があったかどうかと、振動したかどうかを確認します。見つからない場合は、通知がブロックされていないか確認します。通知の設定は [通知履歴] で変更できます。
  • 通知の管理: 割り込み通知を変更する場合、通知履歴を使用します。通知履歴では、日ごとの通知負荷に関する実用的な情報が得られるため、アラートやブロックの変更範囲を簡単に把握できます。

通知履歴には以下のコンポーネントのリファレンス実装があります。

  • 設定: packages/apps/Settings/src/com/android/settings/notification/history
  • システム サーバー: com.android.server.notification.NotificationHistory.*.java

通知履歴を実装する主な手順は次のとおりです。

  • 通知イベントをログに書き込みます。
  • エントリ ポイントをログに追加し、オンとオフを切り替える設定も追加します。
  • [通知履歴] 画面を実装します。

ユーザーは通知履歴をオフにすることができます。オフにすると、履歴項目はすべて削除され、ログに項目が書き込まれなくなります。

NotificationHistoryDatabase クラスの HISTORY_RETENTION_DAYS 定数を使用して、通知履歴に通知を表示する日数を設定できます。また、[通知履歴] 画面に表示されるセクションと、データの表示方法を変更することもできます。

デフォルトの通知履歴保持期間は 24 時間です。

以下の単体テストは、コードのコンポーネントごとに実施されます。

  • システム サーバー単体テスト: FrameworksUiServicesTests
  • 設定単体テスト: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.notification"