通知履歴とは、ユーザーがスヌーズした通知、最近閉じた通知の一部、最後に通知が行われた日の履歴が表示される、デバイス上の画面です。これは 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"