Radio mit Media implementieren

Die Radio-Benutzeroberfläche wird als unabhängige App implementiert. Eine Anleitung zum Integrieren einer Radio-Benutzeroberfläche in die Radiohardware finden Sie unter Radio implementieren.

Im folgenden Abschnitt wird beschrieben, wie Sie die Radio-Benutzeroberfläche in Media einbinden, um Nutzern eine nahtlose Nutzung zu ermöglichen, bei der sie mit Media-Quellen und Radio interagieren können, als wären sie eine einzelne App.

Ablauf für das Wechseln der Media-Quelle

Das folgende Diagramm veranschaulicht, wie die Referenzimplementierung von Radio und Media den Nutzerfluss für das Umschalten von Apps implementiert.

Ablauf für das Wechseln der Media-Quelle

Abbildung 1. Ablauf für das Wechseln der Media-Quelle

Um einen nahtlosen Übergang zwischen Radio und anderen Media-Apps zu ermöglichen, definiert die car-media-common-Bibliothek Android-Intents, mit denen eine Media-Quellenauswahl gestartet werden kann. In AOSP ist diese Auswahlfunktion im App Launcher implementiert. Die Benutzeroberfläche zum Starten von Apps ist dieselbe, aber es werden nur Medienquellen angezeigt.

OEMs können die aktuelle App Launcher-Implementierung unverändert übernehmen oder eine benutzerdefinierte Media Source Selector-Implementierung vornehmen.

Die Auswahl kann in zwei Modi verwendet werden:

  • Normaler Ablauf: Nachdem der Nutzer die Quelle ausgewählt hat, wird sie in „Medien“ angezeigt, damit er die Inhalte durchsuchen kann.
  • Als Switch: Ein Selektor wird verwendet, um die Quelle zu wechseln, aber die Medien werden dem Nutzer nicht angezeigt. Das gilt auch für das Selektorsymbol auf der Startseite. Nachdem eine Quelle ausgewählt wurde, wird dem Nutzer der zuletzt angezeigte Bildschirm präsentiert (in diesem Fall die Startseite).

Die Absicht, die zum Wechseln zwischen Media-Quellen verwendet wird, kann über die Methode MediaSource#getSourceSelectorIntent() abgerufen werden. Diese akzeptiert einen booleschen Wert popup, der eine Absicht zum Starten der oben beschriebenen Abläufe zurückgibt.

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

Radio App ersetzen

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

  • Sie haben eine Launcher-Aktivität.
  • 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

Media müssen alle UX-Einschränkungen für Ablenkung während der Fahrt einhalten. Dazu muss die Media-App auf den CarUXRestrictionManager hören und alle seine Richtlinien implementieren.

  • Media müssen eine Verbindung zur Car-Bibliothek herstellen und eine Instanz von CarUXRestrictionManager abrufen.
  • Media-Apps müssen Updates in der Liste der CarUxRestrictions abonnieren und wie dokumentiert implementieren.
  • Besonders wichtig für Media sind: