Le app per TV devono mostrare una scheda Ora in riproduzione quando i contenuti multimediali vengono riprodotti dietro Avvio app o in background. Questa scheda consente agli utenti di tornare all'app che sta riproducendo i contenuti multimediali.
Il framework Android mostra una scheda Ora in riproduzione sulla schermata Home quando è presente una scheda MediaSession
attiva.
La scheda include metadati multimediali come copertina dell'album, titolo e icona dell'app.
Quando l'utente seleziona la carta, il sistema apre l'app.
Puoi utilizzare la classe MediaSession
per implementare
la scheda Ora in riproduzione.
![](https://developer.android.com/static/images/training/tv/playback/now-playing-screen.png?authuser=6&hl=it)
Figura 1. Mostra una scheda Ora in riproduzione durante la riproduzione di contenuti multimediali in background.
Carta Now Playing
Dopo aver implementato una sessione multimediale, impostato la sessione come attiva e richiesto il focus audio, viene visualizzata la scheda Ora in riproduzione.
Nota: la scheda Ora in riproduzione viene visualizzata solo per una sessione multimediale con il flag FLAG_HANDLES_TRANSPORT_CONTROLS
impostato. Questo flag è deprecato al livello API 26. Tuttavia, questo flag potrebbe essere ancora necessario sui dispositivi meno recenti per garantire la compatibilità con le versioni precedenti.
La scheda viene rimossa dalla schermata Avvio app quando una chiamata setActive(false)
disattiva la sessione multimediale o quando un'altra app avvia la riproduzione di contenuti multimediali. Se la riproduzione è stata interrotta completamente e non ci sono contenuti multimediali attivi, disattiva immediatamente la sessione multimediale. Se la riproduzione è in pausa, disattiva la sessione multimediale dopo un ritardo, in genere da 5 a 30 minuti.
Aggiorna la carta
Ogni volta che la tua app aggiorna lo stato di riproduzione in MediaSession
, la scheda
Ora in riproduzione si aggiorna per mostrare lo stato del contenuto multimediale corrente. Per scoprire come fare, consulta
Aggiornare lo stato di riproduzione.
Analogamente, l'app può aggiornare MediaMetadata
per fornire alla scheda Ora in riproduzione informazioni sui contenuti multimediali correnti, ad esempio titolo, sottotitoli e varie icone. Per scoprire come fare, consulta
Aggiornare i metadati dei contenuti multimediali.
Rispondere all'azione dell'utente
Quando l'utente seleziona la scheda Ora in riproduzione, il sistema apre l'app proprietaria della sessione. Se la tua app fornisce PendingIntent
a setSessionActivity()
, il sistema avvia l'attività specificata, come mostrato nel seguente snippet di codice. In caso contrario, si apre l'intent di sistema predefinito. L'attività specificata deve fornire controlli di riproduzione che consentano agli utenti di mettere in pausa o interrompere la riproduzione.
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);