Der Benachrichtigungsverlauf ist ein Gerätebildschirm, auf dem Nutzer zurückgestellte Benachrichtigungen, einige kürzlich verworfene Benachrichtigungen und einen Verlauf der Benachrichtigungen des letzten Tages sehen können. Die Implementierung dieser Funktion ist für OEMs optional. Dies hat keine Auswirkungen auf SoCs oder Mobilfunkanbieter.
Der Benachrichtigungsverlauf ist für folgende Anwendungsfälle gedacht:
- Versehentliches Schließen: Sie haben eine Benachrichtigung versehentlich geschlossen und möchten noch einmal sehen, was darin stand.
- Zurückgestellte Benachrichtigungen: Sie haben eine Benachrichtigung zurückgestellt, möchten sie aber vor Ablauf des Zurückstellungszeitraums sehen.
- Fehlerbehebung: Sie haben eine Benachrichtigung verpasst. Sie prüfen den Benachrichtigungsverlauf, um zu sehen, ob es eine Benachrichtigung gab und ob das Gerät vibriert hat. Wenn Sie sie nicht finden, prüfen Sie, ob eine Benachrichtigung blockiert wurde. Sie können die Benachrichtigungseinstellungen im Benachrichtigungsverlauf ändern.
- Benachrichtigungsverwaltung: Sie möchten ändern, wie störend Benachrichtigungen sind. Daher verwenden Sie den Benachrichtigungsverlauf, da er einen realistischen Ausschnitt der täglichen Benachrichtigungslast bietet. So können Sie den Umfang Ihrer Änderungen an Benachrichtigungen, Blockierungen usw. leicht nachvollziehen.
Referenzimplementierungen dieser Komponenten des Benachrichtigungsverlaufs sind verfügbar:
- Einstellungen:
packages/apps/Settings/src/com/android/settings/notification/history
- System server:
com.android.server.notification.NotificationHistory.*.java
Dies sind die wichtigsten Schritte zur Implementierung des Benachrichtigungsverlaufs:
- Benachrichtigungsereignisse in das Log schreiben
- Fügen Sie dem Log Ein- und Ausstiegspunkte sowie die Einstellung zum Ein- und Ausschalten hinzu.
- Implementieren Sie den Bildschirm „Benachrichtigungsverlauf“.
Nutzer können den Benachrichtigungsverlauf deaktivieren. Wenn er deaktiviert ist, werden alle Verlaufselemente gelöscht und es werden keine Elemente in das Protokoll geschrieben.
Mit der Konstanten HISTORY_RETENTION_DAYS
in der Klasse NotificationHistoryDatabase
können Sie festlegen, wie viele Tage Benachrichtigungen im Benachrichtigungsverlauf angezeigt werden. Sie können auch ändern, welche Abschnitte auf dem Bildschirm „Benachrichtigungsverlauf“ angezeigt werden und wie die Daten präsentiert werden.
Der standardmäßige Aufbewahrungszeitraum für den Benachrichtigungsverlauf beträgt 24 Stunden.
Diese Einheitentests werden für jede Komponente des Codes bereitgestellt:
- Unit-Tests für Systemserver:
FrameworksUiServicesTests
- Einstellungen für Einheitentests:
make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.notification"