Mostra una carta Now Playing

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.