從 Android 13 開始,系統 UI 中的媒體控制項會更新動作按鈕和遠端播放功能。這些變更可提升手機和平板電腦的媒體控制體驗,並支援在裝置間流暢轉移媒體。
媒體控制選項更新
本節說明 Android 13 對媒體控制項所做的更新,包括動作按鈕和遠端播放。
動作按鈕變更
為確保使用者能存取應用程式播放媒體時的豐富媒體控制項,Android 13 媒體控制項上的動作按鈕會衍生自 PlaybackState
動作狀態。這項異動後,函式 MediaDataManager#createActionsFromState
會根據 PlaybackState
動作狀態產生動作按鈕資訊。這與其他 Android 平台 (例如 Android Auto、Google 助理和 Android Wear) 的媒體控制項顯示方式一致。
相較之下,在 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],瞭解相關建議。