À partir d’Android 13, les commandes multimédias de l’interface utilisateur système contiennent des mises à jour des boutons d’action et de la lecture à distance. Ces changements permettent une expérience de contrôle multimédia plus raffinée sur les téléphones et les tablettes, et offrent des transferts multimédias fluides entre les appareils.
Mises à jour des contrôles multimédias
Cette section décrit les mises à jour apportées aux commandes multimédias dans Android 13 pour les boutons d'action et la lecture à distance.
Modifications du bouton d'action
Pour garantir que les utilisateurs peuvent accéder à un riche ensemble de commandes multimédias pour les applications lisant des médias, les boutons d'action sur les 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 de l'action PlaybackState
. Cela correspond à la façon dont les contrôles multimédias sont rendus sur d'autres plates-formes Android telles que Auto, Assistant et Wear.
En revanche, dans Android 12, les boutons d'action sur les commandes multimédias étaient déterminés par les actions de notification ajoutées à une notification MediaStyle
.
Pour un résumé des modifications compatibles avec l'application pour les mises à jour des boutons d'action, consultez StatusBarManager
.
API de lecture à distance
Pour offrir une expérience multimédia cohérente sur une variété de surfaces, à partir d'Android 13, une nouvelle API système Notification#setRemotePlaybackInfo
est ajoutée pour marquer les notifications multimédias sur l'interface utilisateur du 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 :
- Fournissez des informations et des fonctionnalités pour les médias provenant d’un périphérique distant au commutateur de sortie par défaut sur le contrôle multimédia.
- Remplacez la capacité du commutateur 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 du périphérique de lecture à distance :
-
Notification#EXTRA_MEDIA_REMOTE_DEVICE
-
Notification#EXTRA_MEDIA_REMOTE_ICON
-
Notification#EXTRA_MEDIA_REMOTE_INTENT
Grâce à ces informations, l'interface utilisateur système peut remplacer les informations par défaut sur le périphérique de la puce du commutateur de sortie et ajouter le contrôle multimédia pour la lecture à distance à la fin de la liste des contrôles multimédias locaux.
Mise en œuvre du contrôle des médias
Les OEM doivent être conscients de ce changement de comportement par défaut, car il affecte la façon dont les contrôles multimédias pour les applications sont générés. Les constructeurs OEM doivent également s'assurer que la nouvelle API du système fonctionne comme prévu dans les limites de leur commutateur 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 une notification, à condition qu'elle dispose de l'autorisation MEDIA_CONTENT_CONTROL
. Cependant, ce n’est pas une obligation et le partenaire peut choisir de ne pas personnaliser.
Validation du contrôle des médias
Pour tester le contrôle multimédia dans l'interface utilisateur système, exécutez un test manuel pour valider les éléments suivants :
- Les boutons fonctionnent comme prévu lors de la lecture de fichiers multimédias à partir d'une application.
- Le commutateur 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
.
Reportez-vous à la nouvelle exigence CDD [3.8.3.1/H-1-SR] pour les recommandations.