Le app TV che riproducono contenuti audio potrebbero continuare a farlo anche dopo che l'utente torna alla schermata Home o passa a un'altra app. A tale scopo, l'app deve fornire una scheda Now Playing nella casa schermo. Questa scheda consente agli utenti di capire da dove proviene l'audio e di tornare alla tua app per controllare la riproduzione di contenuti multimediali.
Ogni volta che un utente
MediaSession
è
presente, il framework Android mostra una scheda Now Playing nella schermata Home. La carta
include metadati multimediali come copertina dell'album, titolo e icona dell'app. Quando l'utente seleziona la carta,
il sistema apre l'app.
Scheda Now Playing
Dopo aver implementato una sessione multimediale, imposta il valore attiva e richiede lo stato attivo dell'audio, viene visualizzata la scheda Now Playing.
Nota:la scheda Now Playing viene visualizzata solo per un contenuto multimediale
sessione con
FLAG_HANDLES_TRANSPORT_CONTROLS
flag impostato. Questo flag è deprecato nel livello API 26. Tuttavia, questo flag potrebbe essere ancora necessario sui dispositivi meno recenti per garantire la compatibilità con le versioni precedenti.
La carta viene rimossa dalla schermata Avvio app quando
setActive(false)
chiamata disattiva la sessione multimediale o quando un'altra app avvia la riproduzione di contenuti multimediali. Se la riproduzione è
interrotto completamente e non ci sono contenuti multimediali attivi, disattiva la sessione multimediale
immediatamente. 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 l'app aggiorna lo stato di riproduzione in MediaSession
, viene
La scheda Now Playing viene aggiornata per mostrare lo stato dei contenuti multimediali correnti. Per scoprire come fare, consulta
Aggiornare lo stato di riproduzione.
Analogamente, l'app può aggiornare
MediaMetadata
da fornire
informazioni nella scheda Now Playing sui contenuti multimediali correnti, come titolo, sottotitolo
e varie icone. Per scoprire come fare, consulta
Aggiorna i metadati dei contenuti multimediali.
Rispondere all'azione dell'utente
Quando l'utente seleziona la scheda Now Playing, il sistema apre l'app proprietaria
durante la sessione. Se la tua app offre una
Da PendingIntent
a
setSessionActivity()
,
il sistema avvia l'attività specificata, come mostrato nello snippet di codice riportato di seguito. In caso contrario,
si apre l'intent di sistema predefinito. L'attività specificata deve fornire controlli di riproduzione che:
consente 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);
Casi d'uso accettati
La scheda Now Playing deve essere utilizzata soltanto nei casi in cui l'utente si aspetta che l'audio continui in background quando esci dall'app. La riproduzione di video o l'audio di un gioco dovrebbe sempre mettere in pausa, a meno che l'app non sia integrata e sia conforme alla funzionalità Picture in picture.