Начиная с 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
.
Notification#setRemotePlaybackInfo
API также добавляет следующие 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].