Начиная с Android 13, элементы управления мультимедиа в системном интерфейсе содержат обновления кнопок действий и удалённого воспроизведения. Эти изменения обеспечивают более удобное управление мультимедиа на телефонах и планшетах, а также бесперебойную передачу медиаконтента между устройствами.
Обновления управления мультимедиа
В этом разделе описываются обновления элементов управления мультимедиа в Android 13 для кнопок действий и удаленного воспроизведения.
Изменения кнопок действий
Чтобы обеспечить пользователям доступ к широкому набору элементов управления мультимедиа для приложений, воспроизводящих медиаконтент, кнопки действий в элементах управления мультимедиа в Android 13 формируются на основе состояний действий PlaybackState
. Благодаря этому изменению функция MediaDataManager#createActionsFromState
генерирует информацию о кнопках действий на основе состояния действий PlaybackState
. Это соответствует тому, как элементы управления мультимедиа отображаются на других платформах Android, таких как Auto, Assistant и Wear OS.
Напротив, в 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 в соответствии с их возможностями переключения выходных данных.
Производителям оригинального оборудования не требуется вносить какие-либо изменения, и они могут использовать реализацию по умолчанию в 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].