Android 13부터 시스템 UI의 미디어 컨트롤에는 작업 버튼과 원격 재생의 업데이트가 포함됩니다. 이러한 변경사항을 통해 스마트폰과 태블릿의 미디어 컨트롤 환경이 더 세밀해지고 기기 간 미디어 전송이 더 원활해집니다.
미디어 컨트롤 업데이트
이 섹션에서는 작업 버튼과 원격 재생에 관한 Android 13의 미디어 컨트롤 업데이트를 설명합니다.
작업 버튼 변경사항
사용자가 미디어를 재생하는 앱의 다양한 미디어 컨트롤 세트에 액세스할 수 있도록 Android 13의 미디어 컨트롤에 있는 작업 버튼은 PlaybackState
작업 상태에서 파생됩니다.
이 변경으로 MediaDataManager#createActionsFromState
함수는 PlaybackState
작업 상태에 따라 작업 버튼 정보를 생성합니다.
이는 Auto, 어시스턴트, Wear 등의 다른 Android 플랫폼에서 미디어 컨트롤이 렌더링되는 방식과 일치합니다.
이에 반해 Android 12에서는 미디어 컨트롤의 작업 버튼이 MediaStyle
알림에 추가된 알림 작업에 의해 결정됩니다.
작업 버튼 업데이트의 앱 호환 변경사항에 관한 요약은 StatusBarManager
를 참고하세요.
원격 재생 API
다양한 표면에서 일관된 미디어 환경을 제공하기 위해 Android 13부터 새 시스템 API Notification#setRemotePlaybackInfo
를 추가하여 원격 재생을 위한 미디어 컨트롤 시스템 UI의 미디어 알림을 표시합니다. 이 API를 사용하면 알림을 게시하는 시스템 앱에서 다음을 실행할 수 있습니다.
- 원격 기기에서 시작된 미디어의 정보 및 기능을 미디어 컨트롤의 기본 출력 전환기에 제공합니다.
- 필요한 경우 출력 전환기 어포던스를 교체합니다.
이 알림을 사용하는 시스템 앱에는 MEDIA_CONTENT_CONTROL
권한이 있어야 합니다.
Notification#setRemotePlaybackInfo
API는 또한 다음 extras
를 추가하여 원격 재생 기기의 이름, 아이콘, 인텐트를 결정합니다.
Notification#EXTRA_MEDIA_REMOTE_DEVICE
Notification#EXTRA_MEDIA_REMOTE_ICON
Notification#EXTRA_MEDIA_REMOTE_INTENT
이 정보를 통해 시스템 UI는 기본 출력 전환기 칩 기기 정보를 대체하고 원격 재생 미디어 컨트롤을 로컬 미디어 컨트롤 목록 끝에 추가할 수 있습니다.
미디어 컨트롤 구현
OEM은 이러한 기본 동작 변경사항을 알고 있어야 합니다. 앱의 미디어 컨트롤이 생성되는 방식에 영향을 미치기 때문입니다. 또한 OEM은 새 시스템 API가 출력 전환기 어포던스에 적용 가능한 방식으로 작동하는지 확인해야 합니다.
OEM은 변경할 필요가 없으며 AOSP의 기본 구현을 사용하면 됩니다.
원격 재생 맞춤설정
OEM에 원격 미디어 재생 알림을 게시하는 시스템 앱이 있는 경우 앱은 MEDIA_CONTENT_CONTROL
권한이 있는 한 알림을 위해 선택적으로 setRemotePlaybackInfo
를 호출할 수 있습니다. 그러나 이는 필수사항이 아니며 파트너는 맞춤설정하지 않아도 됩니다.
미디어 컨트롤 검증
시스템 UI의 미디어 컨트롤을 테스트하려면 수동 테스트를 실행하여 다음 사항을 확인하세요.
- 버튼이 앱에서 미디어를 재생하는 동안 올바르게 작동합니다.
- 출력 전환기에 올바른 기기 정보가 표시됩니다.
다음 테스트를 사용하여 원격 재생 API를 검증합니다.
NotificationManagerTest
의 CTS 테스트(예:testMediaStyleRemotePlayback_noPermission
및testMediaStyleRemotePlayback_hasPermission
)com.android.systemui.media
의 단위 테스트
권장사항에 관해 알아보려면 새로운 CDD 요구사항[3.8.3.1/H-1-SR]을 참고하세요.