Начиная с Android 13, элементы управления мультимедиа в системном пользовательском интерфейсе содержат обновления кнопок действий и удаленного воспроизведения. Эти изменения обеспечивают более совершенный опыт управления мультимедиа на телефонах и планшетах, а также обеспечивают плавную передачу мультимедиа между устройствами.
Обновления в средствах управления мультимедиа
В этом разделе описаны обновления, внесенные в элементы управления мультимедиа в Android 13 для кнопок действий и удаленного воспроизведения.
Изменения в кнопке действия
Чтобы гарантировать, что пользователи могут получить доступ к богатому набору элементов управления мультимедиа для приложений, воспроизводящих мультимедиа, кнопки действий на элементах управления мультимедиа для Android 13 являются производными от состояний действий PlaybackState
. Благодаря этому изменению функция MediaDataManager#createActionsFromState
генерирует информацию о кнопке действия на основе состояния действия PlaybackState
. Это соответствует тому, как элементы управления мультимедиа отображаются на других платформах Android, таких как Auto, Assistant и Wear.
Напротив, в Android 12 кнопки действий на элементах управления мультимедиа определялись действиями уведомлений, добавленными в уведомление MediaStyle
.
Сводную информацию о совместимых с приложениями изменениях для обновлений кнопок действий см. в StatusBarManager
.
API удаленного воспроизведения
Чтобы обеспечить единообразное взаимодействие мультимедиа на различных поверхностях, начиная с Android 13, добавляется новый системный API Notification#setRemotePlaybackInfo
позволяющий отмечать мультимедийные уведомления в пользовательском интерфейсе системы управления мультимедиа для удаленного воспроизведения. Этот API позволяет системным приложениям, публикующим уведомления, выполнять следующие действия:
- Предоставляйте информацию и функции для мультимедиа, исходящего с удаленного устройства, на переключатель вывода по умолчанию на средстве управления мультимедиа.
- При необходимости замените выходной переключатель.
Системные приложения, использующие это уведомление, должны иметь разрешение MEDIA_CONTENT_CONTROL
.
API Notification#setRemotePlaybackInfo
также добавляет следующие extras
для определения имени, значка и назначения устройства удаленного воспроизведения:
-
Notification#EXTRA_MEDIA_REMOTE_DEVICE
-
Notification#EXTRA_MEDIA_REMOTE_ICON
-
Notification#EXTRA_MEDIA_REMOTE_INTENT
С помощью этой информации системный пользовательский интерфейс может заменить информацию об устройстве микросхемы переключателя вывода по умолчанию и добавить элемент управления мультимедиа для удаленного воспроизведения в конец списка локальных элементов управления мультимедиа.
Осуществление медиа-контроля
OEM-производители должны знать об этом изменении поведения по умолчанию, поскольку оно влияет на создание элементов управления мультимедиа для приложений. OEM-производители также должны убедиться, что новый системный API работает в соответствии с возможностями их выходного коммутатора.
OEM-производителям не требуется вносить какие-либо изменения, и они могут использовать реализацию по умолчанию в AOSP.
Настройка удаленного воспроизведения
В тех случаях, когда у OEM-производителя есть системное приложение, которое отправляет уведомления об удаленном воспроизведении мультимедиа, приложение может дополнительно вызвать setRemotePlaybackInfo
для уведомления, если ему предоставлено разрешение MEDIA_CONTENT_CONTROL
. Однако это не является обязательным требованием, и партнер может отказаться от настройки.
Проверка контроля над СМИ
Чтобы протестировать управление мультимедиа в системном пользовательском интерфейсе, запустите ручной тест, чтобы проверить следующее:
- Кнопки функционируют должным образом при воспроизведении мультимедиа из приложения.
- Выходной переключатель отображает правильную информацию об устройстве.
Используйте следующие тесты для проверки API удаленного воспроизведения:
- Тесты CTS в
NotificationManagerTest
, такие какtestMediaStyleRemotePlayback_noPermission
иtestMediaStyleRemotePlayback_hasPermission
. - Модульные тесты в
com.android.systemui.media
.
Рекомендации см. в новом требованию CDD [3.8.3.1/H-1-SR].