從 Android 13 開始,系統 UI 中的媒體控制項包含動作按鈕和遠端播放功能的更新。這些變更可支援在手機和平板電腦上提供更精緻的媒體控制體驗,並提供跨裝置的流暢媒體傳輸功能。
媒體控制選項更新
本節說明 Android 13 媒體控制項的更新內容,適用於動作按鈕和遠端播放功能。
動作按鈕變更
為確保使用者可以存取播放媒體的應用程式提供的豐富媒體控制選項,Android 13 媒體控制項的動作按鈕會衍生自 PlaybackState
動作狀態。有了這項變更,函式 MediaDataManager#createActionsFromState
會根據 PlaybackState
動作狀態產生動作按鈕資訊。這與其他 Android 平台 (例如 Auto、Assistant 和 Wear) 中媒體控制項的顯示方式一致。
相較之下,在 Android 12 中,媒體控制項上的動作按鈕是由新增至 MediaStyle
通知的通知動作決定。
如要瞭解行動按鈕更新的應用程式相容性異動摘要,請參閱 StatusBarManager
。
Remote Playback 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]。