Radio mit Medien umsetzen

Das Radio UI ist als eigenständige App implementiert. Anweisungen zur Integration einer Radio-Benutzeroberfläche in die Radio-Hardware finden Sie unter Radio implementieren .

Im folgenden Abschnitt wird beschrieben, wie Sie die Radio-Benutzeroberfläche mit Medien integrieren, um Benutzern ein nahtloses Erlebnis zu bieten, das es Benutzern ermöglicht, mit Medienquellen und Radio zu interagieren, als wären sie eine einzige App.

Benutzerfluss zum Wechseln der Medienquelle

Das folgende Diagramm veranschaulicht, wie die Referenzimplementierung von Radio und Medien den App-Switching-Benutzerfluss implementiert.

Benutzerfluss zum Wechseln der Medienquelle

Abbildung 1. Benutzerfluss beim Wechseln der Medienquelle

Um einen nahtlosen Übergang zwischen Radio und anderen Apps in Medien zu ermöglichen, definiert die car-media-common Bibliothek Android-Absichten, die zum Starten einer Medienquellenauswahl verwendet werden können. In AOSP ist dieser Selektor im App Launcher implementiert und bietet dieselbe Benutzeroberfläche zum Starten von Apps, jedoch gefiltert, um nur Medienquellen anzuzeigen.

OEMs können sich dafür entscheiden, die aktuelle App Launcher-Implementierung unverändert zu übernehmen oder einen benutzerdefinierten Medienquellenselektor zu implementieren.

Der Selektor kann in zwei Modi arbeiten:

  • Normaler Fluss. Nach Verwendung des Selektors wird die ausgewählte Quelle in „Medien“ angezeigt, sodass der Benutzer deren Inhalt durchsuchen kann.
  • Als Schalter. Zum Umschalten der Quellen wird ein Selektor verwendet, die Medien werden dem Benutzer jedoch nicht angezeigt. Dies gilt für das Auswahlsymbol auf der Startseite. Nach Auswahl einer Quelle wird dem Benutzer der zuletzt vorherige Bildschirm angezeigt (in diesem Fall die Startseite).

Die zum Wechseln zwischen Medienquellen verwendete Absicht kann von der Methode MediaSource#getSourceSelectorIntent() abgerufen werden, die einen booleschen popup Wert akzeptiert, der eine Absicht zum Starten jedes der oben beschriebenen Abläufe zurückgibt.

Die tatsächlichen Absichten sind unter packages/apps/Car/libs/car-media-common/res/values/config.xml definiert. Um diese Konfiguration anzupassen, verwenden Sie Build-Time-Overlays.

Ersetzen Sie die Radio-App

Da die Radio-App Media Browse und Media Session implementiert, wird Radio im App Launcher angezeigt. Um zu verhindern, dass Media gestartet wird, wenn ein Benutzer auf das Symbol klickt, sind zwei Elemente erforderlich. Radio muss :

  • Führen Sie eine Launcher- Aktivität durch.
  • Als benutzerdefinierte Quelle deklariert werden. Fügen Sie dazu den Komponentennamen zum Schlüssel custom_media_packages in car-media-common/res/values/config.xml hinzu.

UX-Fahrbeschränkungen

Medien müssen alle UX-Ablenkungsbeschränkungen beim Fahren beachten. Dazu muss Media auf den CarUXRestrictionManager hören und alle seine Richtlinien implementieren.