In Android 11 können Sie das Verhalten und die Platzierung von Unterhaltungsbenachrichtigungen im Benachrichtigungsfeld nach Priorität und Benachrichtigungsstufe anpassen. Unterhaltungen können als „Wichtig“ markiert und unterhaltungsspezifische Bubbles im Unterhaltungsbereich gestartet werden.
Android 12 baut auf diesen Android 11-Funktionen auf und bietet zwei neue Unterhaltungsfunktionen:
Mit der Funktion „Letzte Unterhaltungen“ in den Einstellungen können Nutzer das Benachrichtigungsverhalten für letzte Unterhaltungen anpassen, ohne auf eine Benachrichtigung warten zu müssen.
Mit der Funktion „Unterhaltungs-Widget“ können Nutzer Chats ganz einfach auf dem Startbildschirm öffnen und so einen schnellen Überblick über die letzten Unterhaltungen erhalten.
In diesem Dokument werden die Implementierungs-, Anpassungs- und Validierungsaspekte von Unterhaltungsbenachrichtigungen und ‑Widgets beschrieben.
Übersicht zu Unterhaltungsbenachrichtigungen
In Android 11 wird ein neues Systemprimitive eingeführt: die Unterhaltung. Sie wird durch das vorhandene Objekt für die Verknüpfung zum Teilen dargestellt, das mit Android 9 eingeführt wurde.
Das Primitive „Unterhaltungen“ kann so verwendet werden:
Zum Teilen von Unterhaltungsdaten zwischen den Apps im System über das Freigabefeld (bereits in Android 10 verfügbar).
Für Bubbles(Verknüpfungen in Android 11). Siehe Abbildung 1.
Zum Teilnehmen am neuen Unterhaltungsbereich oben im Benachrichtigungsfeld (in Android 11 implementiert). Siehe Abbildung 2.
Zum Erstellen von Unterhaltungs-Widgets (in Android 12 implementiert).

Abbildung 1:Benachrichtigung, die als Bubble aus dem Benachrichtigungsfeld gestartet wird

Abbildung 2:Unterhaltungsbereich oben in der Benachrichtigungsleiste
Neben der Verknüpfung zur Unterhaltung enthält die Benachrichtigung auch die letzte Nachricht der Unterhaltung im Unterhaltungsbereich (MessagingStyle) .
GMS-Partner müssen Folgendes implementieren:
- Einen neuen Unterhaltungsbereich als separaten Abschnitt oben in der Benachrichtigungsleiste.
- Einen Benachrichtigungsstil, der das unterhaltungsspezifische Bubble-Muster ermöglicht und unterstützt.
Partner, die Unterhaltungen implementieren, müssen auch wichtige Unterhaltungen implementieren. Die Implementierung von Unterhaltungen kann jedoch an OEM-Konzepte ähnlicher Art angepasst werden. Insgesamt haben Partner die Freiheit, den Unterhaltungsbereich an ihre spezifische System-UI anzupassen. Der Partner muss keinen HAL-/Treiber-/Kernelcode oder keine Erweiterungen ändern oder implementieren.
Eine Referenzimplementierung finden Sie in den Abschnitten „SystemUI“ und „PeopleService“ in AOSP:
frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/
Validierung
Prüfen Sie Folgendes, um sicherzustellen, dass Ihre Version der Funktion wie vorgesehen funktioniert:
In Apps, die die Conversation API vollständig unterstützen, werden Benachrichtigungen im neuen Bereich angezeigt. Diese Benachrichtigungen können nach Unterhaltung und nicht nach dem generischen NotificationChannel angepasst werden.
Unterhaltungsspezifische Bubbles funktionieren.
Verwenden Sie die folgenden Tests im Benachrichtigungspaket, um die Implementierung zu validieren:
CTS-Tests
cts/tests/app/src/android/app/cts/NotificationManagerTest.javaCTS‑Prüfung
cts/apps/CtsVerifier/src/com/android/cts/verifier/notifications/
Übersicht zu Unterhaltungs-Widgets
In Android 12 baut die Funktion „Unterhaltungs-Widget“ auf den in Android 11 erstellten Unterhaltungsdarstellungen auf (wie im vorherigen Abschnitt beschrieben). Apps können den Status dieser Unterhaltungen angeben, der in Unterhaltungs-Widgets angezeigt wird.
Abbildung 3:Unterhaltungen, die in Unterhaltungs-Widgets angezeigt werden
Mit der Funktion „Unterhaltungs-Widget“ in Android 12 können Nutzer Chats ganz einfach auf dem Startbildschirm öffnen. Die Widgets sind erweiterte Verknüpfungen, mit denen Nutzer effizient zu ihren Unterhaltungen zurückkehren können. Gleichzeitig werden Snippets der Unterhaltungsstatus angezeigt.
Der Partner muss Folgendes implementieren:
- Ein Widget, das von SystemUI bereitgestellt wird.
- Einen Ablauf zum Hinzufügen dieser Widgets über die Widget-Auswahl.
- Unterstützung für die Größenänderung von Widgets:
- Verwenden Sie
onAppWidgetOptionsChanged(), um das Layout in ein besser dimensioniertes Layout zu ändern, wenn der Nutzer die Layoutgröße ändert oder das Gerät ins Querformat dreht. - Verwenden Sie
maxResizeHeight,maxResizeWidth,minWidth,minHeight,minResizeWidthundminResizeHeight, um die Größenänderungen des Widgets korrekt zu begrenzen.
- Verwenden Sie
Beachten Sie bei der Implementierung von Unterhaltungs-Widgets die folgenden Abhängigkeiten:
- Der Partner muss keinen HAL-/Treiber-/Kernelcode ändern oder implementieren.
- Für die Implementierung wird die Status API verwendet, mit der Apps einer Unterhaltung und dem zugehörigen Widget Status- oder Verfügbarkeitsinformationen hinzufügen können.
- Der Prozess ist bei neuen Geräteimplementierungen und bei Upgrade-Implementierungen gleich.
- Die Funktion „Unterhaltungs-Widgets“ ist von einer neuen Funktion abhängig, die in Android 12 eingeführt wird. Dabei werden kürzlich angesehene Unterhaltungen (z. B. aus Benachrichtigungen) im Cache gespeichert. Mit dieser Funktion kann die Liste der Unterhaltungen erweitert werden, die ein Nutzer möglicherweise seinem Startbildschirm hinzufügen möchte.
Eine Referenzimplementierung finden Sie in den SystemUI- und Launcher3-Dateien:
frameworks/base/packages/SystemUI/src/com/android/systemui/people/
frameworks/base/core/java/android/app/people/
frameworks/base/services/people/java/com/android/server/people/
Anpassung
Die Funktion „Unterhaltungs-Widgets“ kann nicht aktiviert oder deaktiviert werden. Ein Partner kann jedoch die Layouts der Widget-Vorlagen ändern, sofern die GMS-Anforderungen erfüllt sind.
Validierung
Prüfen Sie Folgendes, um sicherzustellen, dass Ihre Version der Funktion wie vorgesehen funktioniert:
Wenn Sie den Launcher lange gedrückt halten, kann über die Widget-Auswahl ein neues Unterhaltungs-Widget für eine Unterhaltung hinzugefügt werden. Die UI der Widget-Auswahl sehen Sie in Abbildung 4:
Abbildung 4:UI der Widget-Auswahl zum Hinzufügen eines neuen Unterhaltungs-Widgets
Wenn Benachrichtigungen aus der ausgewählten Unterhaltung an das Gerät gesendet werden, wird das Widget entsprechend aktualisiert.
Wenn Sie mit der
ConversationStatusAPI Status auf diese Unterhaltung anwenden, werden diese Status im Widget angezeigt.Nutzer können die Größe von Widgets ändern. Die Größe von Widgets kann sich je nach aktuellem Launcher ändern. Die Widget-Layouts müssen mit verschiedenen Launcher-Größen auf verschiedenen Geräten und beim Ändern der Widget-Größe gut funktionieren.
Verwenden Sie die folgenden Tests im Benachrichtigungspaket, um die Implementierung zu validieren:
CTS-Tests (PeopleManagerTest) für die API-Oberflächen.
cts/tests/app/src/android/app/cts/NotificationManagerTest.javaManuelle Tests für die GMS-Anforderung „Unterhaltungen“.