廣播電台 UI 是以獨立應用程式的形式實作。如要瞭解如何將廣播電台 UI 整合至廣播電台硬體,請參閱「實作廣播電台」一文。
以下章節將說明如何將 Radio UI 與媒體整合,為使用者提供流暢的體驗,讓使用者能與媒體來源和廣播電台互動,就像使用單一應用程式一樣。
媒體來源切換使用者流程
下圖說明無線電和媒體的參考實作如何實作應用程式切換使用者流程。
圖 1. 媒體來源切換使用者流程
為了在媒體中的電台和其他應用程式之間提供流暢的轉換,car-media-common
程式庫定義了可用於啟動媒體來源選取器的 Android 意圖。在 AOSP 中,這個選取器會在應用程式啟動器中實作,提供相同的 UI 來啟動應用程式,但會篩選只顯示媒體來源。
原始設備製造商 (OEM) 可以選擇採用目前的應用程式啟動器實作方式,或是導入自訂的媒體來源選取器。
選取器可以在兩種模式下運作:
- 正常流程。使用選取器後,系統會在「媒體」中顯示所選來源,方便使用者瀏覽內容。
- 做為切換鈕。使用選取器切換來源,但不會向使用者顯示媒體。這適用於主畫面上的選取器圖示。選取來源後,系統會向使用者顯示最近的先前畫面 (在本例中為主畫面)。
用於切換媒體來源的意圖可從 MediaSource#getSourceSelectorIntent()
方法取得,該方法會接受 popup
布林值,並傳回意圖,以啟動上述各個流程。
實際的意圖會在 packages/apps/Car/libs/car-media-common/res/values/config.xml
中定義。如要自訂這項設定,請使用建構時間疊加層。
取代 Radio 應用程式
由於 Radio 應用程式實作了媒體瀏覽和媒體工作階段,因此會在應用程式啟動器中顯示 Radio。為避免在使用者點選圖示時啟動媒體,您必須提供兩個元素。電台必須:
- 具備啟動器活動。
- 宣告為自訂來源。如要這樣做,請將元件名稱新增至
car-media-common/res/values/config.xml
中的custom_media_packages
鍵。
使用者體驗行車限制
媒體必須遵循所有導致幹擾的使用者體驗限制。為此,Media 必須監聽 CarUXRestrictionManager 並實作其所有政策。
- 媒體必須連線至 Car 程式庫,並取得 CarUXRestrictionManager 的例項。
- 媒體必須訂閱 CarUxRestrictions 清單中的更新項目,並按照說明文件實作。
- 這對媒體來說格外重要:
UX_RESTRICTIONS_NO_SETUP
。 在這種情況下,請務必停用登入流程。UX_RESTRICTIONS_LIMIT_STRING_LENGTH
。媒體應用程式提供的錯誤訊息和其他文字內容不得超過指定長度。