A partir de Android 13, los controles multimedia de la IU del sistema contienen actualizaciones de los botones de acción y la reproducción remota. Estos cambios admiten una experiencia de control de contenido multimedia más prolija en teléfonos y tablets, y ofrecen transferencias fluidas entre dispositivos.
Actualizaciones de los controles multimedia
En esta sección, se describen las actualizaciones de los controles multimedia en Android 13 para los botones de acción y la reproducción remota.
Cambios en el botón de acción
Para garantizar que los usuarios puedan acceder a un conjunto completo de controles multimedia para las apps que reproducen contenido multimedia, los botones de acción en los controles multimedia de Android 13 se derivan de los estados de acción de PlaybackState
.
Con este cambio, la función MediaDataManager#createActionsFromState
genera información del botón de acción según el estado de la acción PlaybackState
.
Esto se alinea con la forma en que se renderizan los controles multimedia en otras plataformas de Android, como Auto, Asistente y Wear.
En cambio, en Android 12, los botones de acción en los controles multimedia se determinaban mediante acciones de notificación que se agregaban a una notificación MediaStyle
.
Para obtener un resumen de los cambios compatibles con la app para las actualizaciones de los botones de acción, consulta StatusBarManager
.
API de reproducción remota
Para ofrecer una experiencia multimedia cohesiva en una variedad de plataformas, a partir de Android 13, se agrega una nueva API del sistema Notification#setRemotePlaybackInfo
para marcar notificaciones multimedia en la IU del sistema de control multimedia para la reproducción remota. Esta API permite que las apps del sistema que publican las notificaciones hagan lo siguiente:
- Proporciona información y funcionalidad para el contenido multimedia que se origina en un dispositivo remoto al conmutador de salida predeterminado en el control multimedia.
- Reemplaza la opción del selector de salida si es necesario.
Las apps del sistema que usan esta notificación deben tener el permiso MEDIA_CONTENT_CONTROL
.
La API de Notification#setRemotePlaybackInfo
también agrega el siguiente extras
para determinar el nombre, el ícono y la intención del dispositivo de reproducción remoto:
Notification#EXTRA_MEDIA_REMOTE_DEVICE
Notification#EXTRA_MEDIA_REMOTE_ICON
Notification#EXTRA_MEDIA_REMOTE_INTENT
Con esta información, la IU del sistema puede reemplazar la información predeterminada del chip del conmutador de salida y agregar el control multimedia para la reproducción remota al final de la lista de controles multimedia locales.
Implementación del control multimedia
Los OEMs deben tener en cuenta este cambio en el comportamiento predeterminado, ya que afecta la forma en que se generan los controles multimedia para las apps. Los OEM también deben asegurarse de que la nueva API del sistema funcione según corresponda en su opción de selector de salida.
Los OEMs no tienen que realizar ningún cambio y pueden usar la implementación predeterminada en AOSP.
Personalización de la reproducción remota
En los casos en que el OEM tiene una app del sistema que publica notificaciones de reproducción de contenido multimedia remoto, la app puede llamar a setRemotePlaybackInfo
de forma opcional para recibir notificaciones, siempre que se le haya otorgado el permiso MEDIA_CONTENT_CONTROL
. Sin embargo, esto no es un requisito, y el socio puede optar por no personalizarlo.
Validación del control multimedia
Para probar el control multimedia en la IU del sistema, ejecuta una prueba manual para validar lo siguiente:
- Los botones funcionan según lo previsto mientras se reproduce contenido multimedia desde una app.
- El selector de salida muestra la información correcta del dispositivo.
Usa las siguientes pruebas para validar la API de reproducción remota:
- Pruebas del CTS en
NotificationManagerTest
, comotestMediaStyleRemotePlayback_noPermission
ytestMediaStyleRemotePlayback_hasPermission
- Pruebas de unidades en
com.android.systemui.media
.
Consulta el nuevo requisito del CDD [3.8.3.1/H-1-SR] para obtener recomendaciones.