À partir d'Android 13, les commandes multimédias de l'UI système contiennent des mises à jour des boutons d'action et de la lecture à distance. Ces modifications offrent une expérience de contrôle multimédia plus soignée sur les téléphones et les tablettes, et permettent de transférer des contenus multimédias de manière fluide entre les appareils.
Modifications apportées aux commandes multimédias
Cette section décrit les modifications apportées aux commandes multimédias dans Android 13 pour les boutons d'action et la lecture à distance.
Modifications apportées aux boutons d'action
Pour s'assurer que les utilisateurs peuvent accéder à un ensemble complet de commandes multimédias pour les applications diffusant des contenus multimédias, les boutons d'action des commandes multimédias pour Android 13 sont dérivés des états d'action PlaybackState
.
Avec cette modification, la fonction MediaDataManager#createActionsFromState
génère des informations sur le bouton d'action en fonction de l'état d'action PlaybackState
.
Cela correspond au mode d'affichage des commandes multimédias sur d'autres plates-formes Android telles que Auto, Assistant et Wear.
En revanche, dans Android 12, les boutons d'action des commandes multimédias étaient déterminés par les actions de notification ajoutées à une notification MediaStyle
.
Pour obtenir un récapitulatif des modifications compatibles avec les applications pour les mises à jour du bouton d'action, consultez StatusBarManager
.
API de lecture à distance
Pour offrir une expérience multimédia cohérente sur diverses surfaces, à partir d'Android 13, une nouvelle API système Notification#setRemotePlaybackInfo
a été ajoutée pour marquer les notifications multimédias sur l'UI du système de commandes multimédias pour la lecture à distance. Cette API permet aux applications système qui publient les notifications d'effectuer les opérations suivantes:
- Fournit des informations et des fonctionnalités pour les contenus multimédias provenant d'un appareil distant au commutateur de sortie par défaut de la commande multimédia.
- Remplacez l' affordance du sélecteur de sortie si nécessaire.
Les applications système qui utilisent cette notification doivent disposer de l'autorisation MEDIA_CONTENT_CONTROL
.
L'API Notification#setRemotePlaybackInfo
ajoute également les éléments extras
suivants pour déterminer le nom, l'icône et l'intent de l'appareil de lecture à distance:
Notification#EXTRA_MEDIA_REMOTE_DEVICE
Notification#EXTRA_MEDIA_REMOTE_ICON
Notification#EXTRA_MEDIA_REMOTE_INTENT
Grâce à ces informations, l'UI système peut remplacer les informations sur l'appareil du chip de commutation de sortie par défaut et ajouter la commande multimédia pour la lecture à distance à la fin de la liste des commandes multimédias locales.
Implémentation du contrôle multimédia
Les OEM doivent être conscients de ce changement de comportement par défaut, car il affecte la génération des commandes multimédias pour les applications. Les OEM doivent également s'assurer que la nouvelle API système fonctionne comme prévu dans leur affordance de sélecteur de sortie.
Les OEM ne sont pas tenus d'apporter de modifications et peuvent utiliser l'implémentation par défaut dans AOSP.
Personnalisation de la lecture à distance
Si l'OEM dispose d'une application système qui publie des notifications de lecture multimédia à distance, l'application peut éventuellement appeler setRemotePlaybackInfo
pour une notification tant qu'elle a reçu l'autorisation MEDIA_CONTENT_CONTROL
. Toutefois, ce n'est pas obligatoire, et le partenaire peut choisir de ne pas personnaliser.
Validation des commandes multimédias
Pour tester les commandes multimédias dans l'interface utilisateur du système, exécutez un test manuel afin de valider les éléments suivants:
- Les boutons fonctionnent comme prévu lorsque vous lisez des contenus multimédias à partir d'une application.
- Le sélecteur de sortie affiche les informations correctes sur l'appareil.
Utilisez les tests suivants pour valider l'API de lecture à distance:
- Tests CTS dans
NotificationManagerTest
, tels quetestMediaStyleRemotePlayback_noPermission
ettestMediaStyleRemotePlayback_hasPermission
. - Tests unitaires sous
com.android.systemui.media
.
Pour obtenir des recommandations, consultez la nouvelle exigence de CDD [3.8.3.1/H-1-SR].