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.
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
incar-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.
- Medien müssen eine Verbindung zur Autobibliothek herstellen und eine Instanz von CarUXRestrictionManager erhalten.
- Medien müssen Aktualisierungen in der Liste der CarUxRestrictions abonnieren und diese wie dokumentiert implementieren.
- Besonders wichtig für Medien sind:
-
UX_RESTRICTIONS_NO_SETUP
. In diesem Fall muss der Anmeldefluss deaktiviert werden. -
UX_RESTRICTIONS_LIMIT_STRING_LENGTH
. Fehlermeldungen und andere von den Medien-Apps bereitgestellte Texte müssen auf die angegebene Länge begrenzt sein.
-