使用 Media 實作收音機

無線電使用者介面是以獨立應用程式的形式實作。如需將無線電使用者介面整合至無線電硬體的操作說明,請參閱「實作無線電」。

下一節說明如何整合 Radio UI 與 Media,為使用者提供流暢體驗,讓使用者與媒體來源和電台互動時,感覺就像使用單一應用程式。

媒體來源切換使用者流程

下圖說明 Radio 和 Media 的參考實作如何實作應用程式切換使用者流程。

媒體來源切換使用者流程

圖 1. 媒體來源切換使用者流程

為在「媒體」中的電台和其他應用程式之間提供順暢的轉移體驗,car-media-common 程式庫定義了可用於啟動媒體來源選取器的 Android 意圖。在 AOSP 中,這個選取器是在應用程式啟動器中實作,呈現相同的應用程式啟動 UI,但會經過篩選,只顯示媒體來源。

原始設備製造商可以選擇直接採用目前的應用程式啟動器實作方式,也可以實作自訂媒體來源選取器。

選取器可以兩種模式運作:

  • 正常流程。使用選取器後,所選來源會顯示在「媒體」中,方便使用者瀏覽內容。
  • 做為切換鈕。系統會使用選取器切換來源,但不會向使用者顯示媒體。首頁上的選取器圖示也是如此。選取來源後,系統會向使用者顯示最近的上一個畫面 (在本例中為首頁)。

用於切換媒體來源的意圖可從 MediaSource#getSourceSelectorIntent() 方法取得,該方法會接受 popup 布林值,並傳回啟動上述各個流程的意圖。

實際意圖是在 packages/apps/Car/libs/car-media-common/res/values/config.xml 中定義。如要自訂這項設定,請使用建構時間疊加。

更換「電台」應用程式

由於 Radio 應用程式實作了媒體瀏覽和媒體工作階段,因此會顯示在應用程式啟動器中。如要防止使用者點選圖示時啟動媒體,必須使用兩個元素。電台必須符合下列條件:

  • 擁有啟動器活動。
  • 宣告為自訂來源。如要這麼做,請將元件名稱新增至 car-media-common/res/values/config.xml 中的 custom_media_packages 鍵。

使用者體驗駕駛限制

媒體必須遵守所有使用者體驗駕駛分心限制。如要這麼做,媒體必須監聽 CarUXRestrictionManager,並實作所有政策。