TV-Apps, die Audio wiedergeben, tun dies möglicherweise auch dann noch, wenn der Nutzer zum Startbildschirm zurückkehrt oder zu einer anderen App wechselt. Dazu muss die App eine Now Playing-Card auf dem Home Bildschirm bereitstellen. Auf dieser Card können Nutzer sehen, woher das Audio stammt, und zu Ihrer App zurückkehren, um die Medienwiedergabe zu steuern.
Wenn eine aktive
MediaSession vorhanden ist, zeigt das Android-Framework eine Now Playing-Card auf dem Startbildschirm an. Die Card
enthält Metadaten zu den Medien, z. B. das Albumcover, den Titel und das App-Symbol. Wenn der Nutzer die Card auswählt,
öffnet das System die App.
Now Playing-Card
Nachdem Sie eine Mediensitzung implementiert, die Sitzung auf „Aktiv“ gesetzt und den Audiofokus angefordert haben, wird die Now Playing-Card angezeigt.
Hinweis:Die Now Playing-Card wird nur für eine Mediensitzung mit dem Flag FLAG_HANDLES_TRANSPORT_CONTROLS angezeigt. Dieses Flag ist auf API-Ebene 26 veraltet. Auf älteren Geräten ist es jedoch möglicherweise weiterhin erforderlich, um die Abwärtskompatibilität zu gewährleisten.
Die Card wird vom Launcher-Bildschirm entfernt, wenn ein
setActive(false)
Aufruf die Mediensitzung deaktiviert oder wenn eine andere App die Medienwiedergabe startet. Wenn die Wiedergabe
vollständig beendet wird und keine aktiven Medien vorhanden sind, deaktivieren Sie die Mediensitzung
sofort. Wenn die Wiedergabe pausiert wird, deaktivieren Sie die Mediensitzung nach einer Verzögerung,
in der Regel 5 bis 30 Minuten.
Card aktualisieren
Wenn Ihre App den Wiedergabestatus in der MediaSession aktualisiert, wird auch die
Now Playing-Card aktualisiert, um den Status der aktuellen Medien anzuzeigen. Informationen dazu finden Sie unter
Wiedergabestatus aktualisieren.
Ebenso kann Ihre App die
MediaMetadata aktualisieren, um
der Now Playing-Card Informationen zu den aktuellen Medien bereitzustellen, z. B. den Titel, den Untertitel,
und verschiedene Symbole. Informationen dazu finden Sie unter
Metadaten der Medien aktualisieren.
Auf Nutzeraktionen reagieren
Wenn der Nutzer die Now Playing-Card auswählt, öffnet das System die App, die die
Sitzung besitzt. Wenn Ihre App ein
PendingIntent für
setSessionActivity(),
stellt, startet das System die von Ihnen angegebene Aktivität, wie im folgenden Code-Snippet gezeigt. Andernfalls wird die Standard-System-Intent geöffnet. Die von Ihnen angegebene Aktivität muss Wiedergabesteuerelemente enthalten, mit denen 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 or PendingIntent.FLAG_IMMUTABLE ) } 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 Now Playing-Card sollte nur in Fällen verwendet werden, in denen der Nutzer erwartet, dass die Audiowiedergabe im Hintergrund fortgesetzt wird, wenn er Ihre App verlässt. Die Videowiedergabe oder der Ton eines Spiels sollte immer pausieren, es sei denn, Ihre App ist in den Bild-im-Bild-Modus integriert und entspricht den Anforderungen.