Начиная с 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].