Radio mit Media implementieren

Die Radio-Benutzeroberfläche wird als eigenständige App implementiert. Eine Anleitung zum Einbinden einer Radio-Benutzeroberfläche in die Radiohardware finden Sie unter Radio implementieren.

Im folgenden Abschnitt wird beschrieben, wie die Radio-UI in Medien eingebunden wird, um Nutzern eine nahtlose Nutzung zu ermöglichen, die es ihnen ermöglicht, mit Medienquellen und Radiosendern zu interagieren, als wären sie eine einzelne App.

Nutzerfluss beim Wechsel der Medienquelle

Das folgende Diagramm zeigt, wie in der Referenzimplementierung von Radio und Medien der Nutzerfluss für den App-Wechsel implementiert wird.

Nutzerfluss beim Wechsel der Medienquelle

Abbildung 1. Nutzerfluss beim Wechsel der Medienquelle

Um einen nahtlosen Übergang zwischen Radio- und anderen Apps in Medien zu ermöglichen, definiert die car-media-common-Bibliothek Android-Intents, mit denen eine Medienquellenauswahl gestartet werden kann. In AOSP ist diese Auswahl im App Launcher implementiert. Sie bietet dieselbe Benutzeroberfläche zum Starten von Apps, ist aber so gefiltert, dass nur Medienquellen angezeigt werden.

OEMs können die aktuelle App Launcher-Implementierung unverändert übernehmen oder eine benutzerdefinierte Medienquellenauswahl implementieren.

Die Auswahl kann in zwei Modi ausgeführt werden:

  • Normaler Ablauf Nachdem die Auswahl getroffen wurde, wird die ausgewählte Quelle in „Medien“ angezeigt, damit der Nutzer die Inhalte durchsuchen kann.
  • Als Schalter Mit einer Auswahl wird zwischen den Quellen gewechselt, die Medien werden dem Nutzer jedoch nicht angezeigt. Dies gilt für das Auswahlsymbol auf der Startseite. Nachdem eine Quelle ausgewählt wurde, wird dem Nutzer der zuletzt besuchte Bildschirm angezeigt (in diesem Fall die Startseite).

Der Intent zum Wechseln zwischen Medienquellen kann über die Methode MediaSource#getSourceSelectorIntent() abgerufen werden. Diese akzeptiert einen booleschen popup-Wert, der einen Intent zurückgibt, um jeden der oben beschriebenen Abläufe zu starten.

Die tatsächlichen Intents werden unter packages/apps/Car/libs/car-media-common/res/values/config.xml definiert. Verwenden Sie Overlays zur Buildzeit, um diese Konfiguration anzupassen.

Radio-App ersetzen

Da die Radio App Media Browse und Media Session implementiert, wird sie im App Launcher angezeigt. Damit Medien nicht gestartet werden, wenn ein Nutzer auf das Symbol klickt, sind zwei Elemente erforderlich. Radio muss:

  • Sie haben eine Launcher-Aktivität.
  • Sie müssen als benutzerdefinierte Quelle deklariert werden. Fügen Sie dazu den Komponentennamen dem Schlüssel custom_media_packages in car-media-common/res/values/config.xml hinzu.

UX-Fahrbeschränkungen

Medien müssen alle Einschränkungen für Ablenkungen beim Fahren einhalten. Dazu muss Media den CarUXRestrictionManager überwachen und alle seine Richtlinien implementieren.

  • Medien müssen eine Verbindung zur Car-Bibliothek herstellen und eine Instanz von CarUXRestrictionManager abrufen.
  • Medien müssen Aktualisierungen in der Liste der CarUxRestrictions abonnieren und wie dokumentiert implementieren.
  • Für Medien sind insbesondere folgende Punkte wichtig: