À partir d'Android 13, les commandes multimédias de l'interface utilisateur du système contiennent des mises à jour des boutons d'action et de la lecture à distance. Ces modifications permettent d'améliorer l'expérience de contrôle des contenus multimédias sur les téléphones et les tablettes, et d'offrir des transferts de contenus multimédias fluides 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 qui lisent du contenu multimédia, 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 les boutons d'action en fonction de l'état de l'action PlaybackState
.
Cela correspond à la façon dont les commandes multimédias sont affichées sur d'autres plates-formes Android telles qu'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 concernant les mises à jour du bouton Action, consultez StatusBarManager
.
API de lecture à distance
Pour offrir une expérience multimédia cohérente sur différentes surfaces, une nouvelle API système Notification#setRemotePlaybackInfo
est ajoutée à partir d'Android 13 pour marquer les notifications multimédias sur l'UI système de contrôle multimédia 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 sélecteur de sortie par défaut sur 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 extras
suivants pour déterminer le nom, l'icône et l'intention 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 sélecteur 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 façon dont les commandes multimédias des applications sont générées. Les OEM doivent également s'assurer que la nouvelle API système fonctionne comme il se doit dans leur affordance de sélecteur de sortie.
Les OEM ne sont pas tenus d'apporter des modifications et peuvent utiliser l'implémentation par défaut dans AOSP.
Personnalisation de la lecture à distance
Dans les cas où l'OEM dispose d'une application système qui publie des notifications de lecture multimédia à distance, l'application peut éventuellement appeler setRemotePlaybackInfo
pour la notification, à condition qu'elle ait reçu l'autorisation MEDIA_CONTENT_CONTROL
. Toutefois, ce n'est pas obligatoire et le partenaire peut choisir de ne pas personnaliser.
Validation du contrôle multimédia
Pour tester le contrôle multimédia dans l'UI système, exécutez un test manuel pour valider les éléments suivants :
- Les boutons fonctionnent comme prévu lors de la lecture de 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 du CDD [3.8.3.1/H-1-SR].