Karte „Now Playing“ anzeigen

TV-Apps, die Audio wiedergeben, können dies auch weiterhin tun, wenn der Nutzer zum Startbildschirm zurückkehrt oder zu einer anderen App wechselt. Dazu muss in der App eine Now Playing-Karte im Zuhause angezeigt werden. Bildschirm. Auf dieser Karte sehen Nutzer, woher das Audio stammt, und können dann zu deiner App zurückkehren die Medienwiedergabe zu steuern.

Wenn ein aktiver Nutzer MediaSession ist dargestellt wird, wird im Android-Framework auf dem Startbildschirm die Karte Now Playing angezeigt. Die Karte enthält Medienmetadaten wie Albumcover, Titel und App-Symbol. Wenn der Nutzer die Karte auswählt, öffnet das System die App.

Now Playing-Karte

Legen Sie nach der Implementierung einer Mediensitzung aktivieren und den Audiofokus anfordern, wird die Karte Läuft gerade angezeigt.

Hinweis:Die Karte Läuft gerade wird nur bei Medieninhalten mit der FLAG_HANDLES_TRANSPORT_CONTROLS gesetzt. Dieses Flag wird auf API-Level 26 eingestellt. Auf älteren Geräten kann dieses Flag jedoch aus Gründen der Abwärtskompatibilität weiterhin erforderlich sein.

Die Karte wird vom Launcher entfernt, wenn setActive(false) deaktiviert die Mediensitzung oder wenn eine andere App die Medienwiedergabe startet. Wenn die Wiedergabe vollständig angehalten und es sind keine aktiven Medien vorhanden, deaktivieren Sie die Mediensitzung sofort. Wenn die Wiedergabe pausiert ist, deaktivieren Sie die Mediensitzung nach einer Verzögerung. normalerweise zwischen 5 und 30 Minuten.

Karte aktualisieren

Immer wenn deine App den Wiedergabestatus in MediaSession aktualisiert, wird das Ereignis Die Karte Now Playing wird aktualisiert und zeigt den Status des aktuellen Mediums an. Informationen dazu finden Sie unter Aktualisiere den Wiedergabestatus.

Ebenso kann Ihre App die MediaMetadata zum Bereitstellen Informationen zum aktuellen Medium auf der Karte Läuft gerade, z. B. Titel, Untertitel, und verschiedene Symbole. Informationen dazu finden Sie unter Aktualisiere die Medienmetadaten.

Auf Nutzeraktion reagieren

Wenn der Nutzer die Karte Läuft gerade auswählt, öffnet das System die App, zu der das Gerät gehört. Sitzung. Wenn Ihre App eine PendingIntent bis setSessionActivity(), startet das System die von Ihnen angegebene Aktivität, wie im folgenden Code-Snippet gezeigt. Falls nicht, wird der Standard-System-Intent geöffnet. Die angegebene Aktivität muss über Steuerelemente für die Wiedergabe verfügen, die damit Nutzer die Wiedergabe pausieren oder beenden können.

Kotlin

val pi: PendingIntent = Intent(context, MyActivity::class.java).let { intent ->
    PendingIntent.getActivity(
            context, 99 /*request code*/,
            intent,
            PendingIntent.FLAG_UPDATE_CURRENT
    )
}
session.setSessionActivity(pi)

Java

Intent intent = new Intent(context, MyActivity.class);
PendingIntent pi = PendingIntent.getActivity(context, 99 /*request code*/,
        intent, PendingIntent.FLAG_UPDATE_CURRENT);
session.setSessionActivity(pi);

Zulässige Anwendungsfälle

Die Karte Now Playing sollte nur verwendet werden, wenn der Nutzer erwartet, dass die Audiowiedergabe fortgesetzt wird. die beim Verlassen der App im Hintergrund wiedergegeben werden. Die Videowiedergabe oder der Ton eines Spiels sollten immer Die Funktion wird pausiert, es sei denn, deine App lässt sich einbinden und unterstützt die Funktion „Bild im Bild“.