Les applications TV qui diffusent du contenu audio peuvent continuer à le faire lorsque l'utilisateur revient à l'écran d'accueil ou passe à une autre application. Pour ce faire, l'application doit fournir une carte En écoute sur l'écran d'accueil. Cette carte permet aux utilisateurs de savoir d'où provient le contenu audio et de revenir à votre application pour contrôler la lecture multimédia.
Chaque fois qu'une
MediaSession est
présente, le framework Android affiche une carte En écoute sur l'écran d'accueil. La carte
inclut des métadonnées multimédias telles que la pochette de l'album, le titre et l'icône de l'application. Lorsque l'utilisateur sélectionne la carte,
le système ouvre l'application.
Carte "En écoute"
Une fois que vous avez implémenté une session multimédia, défini la session comme active et demandé la priorité audio, la carte En écoute s'affiche.
Remarque : La carte En écoute ne s'affiche que pour une session multimédia dont l'indicateur FLAG_HANDLES_TRANSPORT_CONTROLS est défini. Cet indicateur est obsolète au niveau d'API 26. Toutefois, il peut être nécessaire sur les anciens appareils pour assurer la rétrocompatibilité.
La carte est supprimée de l'écran du lanceur lorsqu'un
setActive(false)
appel désactive la session multimédia ou lorsqu'une autre application lance la lecture multimédia. Si la lecture est
complètement arrêtée et qu'aucun contenu multimédia n'est actif, désactivez immédiatement la session multimédia. Si la lecture est mise en pause, désactivez la session multimédia après un délai,
généralement de 5 à 30 minutes.
Mettre à jour la carte
Chaque fois que votre application met à jour l'état de lecture dans le MediaSession, la
carte En écoute est mise à jour pour afficher l'état du contenu multimédia actuel. Pour savoir comment procéder, consultez la section
Mettre à jour l'état de lecture.
De même, votre application peut mettre à jour les
MediaMetadata pour fournir
des informations à la carte En écoute sur le contenu multimédia actuel, telles que le titre, le sous-titre,
et diverses icônes. Pour savoir comment procéder, consultez la section
Mettre à jour les métadonnées multimédias.
Répondre à l'action de l'utilisateur
Lorsque l'utilisateur sélectionne la carte En écoute, le système ouvre l'application propriétaire de la
session. Si votre application fournit un
PendingIntent à
setSessionActivity(),
le système lance l'activité que vous spécifiez, comme indiqué dans l'extrait de code suivant. Sinon,
l'intent système par défaut s'ouvre. L'activité que vous spécifiez doit fournir des commandes de lecture qui
permettent aux utilisateurs de mettre en pause ou d'arrêter la lecture.
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);
Cas d'utilisation acceptés
La carte En écoute ne doit être utilisée que dans les cas où l'utilisateur s'attend à ce que le contenu audio continue d'être diffusé en arrière-plan lorsqu'il quitte votre application. La lecture vidéo ou le son d'un jeu doivent toujours être mis en pause, sauf si votre application est intégrée et compatible avec le mode Picture-in-picture.