使用 Car App Library 的媒體應用程式

媒體應用程式開發人員可以使用 Car App Library (CAL) 建構應用程式的使用者介面。這個程式庫提供替代方法,不必透過 MediaBrowserService 提供資料,讓 CarMediaApp 進行算繪。

開發人員可以透過 CAL 範本媒體應用程式,自訂使用者介面來配合品牌識別。與 CAL 架構的應用程式不同,使用 MediaBrowserServiceCarMediaApp 的傳統媒體應用程式不允許開發人員自訂 UI 樣式,這類樣式是由 OEM 控制。

開發人員可以建構支援 Android Auto 和 Android Automotive OS (AAOS) 的範本媒體應用程式

整合

如要支援以 CAL 為基礎的範本化媒體應用程式,必須整合平台。

必要條件

透過替代應用程式控制項,應用程式可以在背景播放音訊,同時提供經過最佳化處理的控制項,方便使用者控制音訊,避免分心。

  • 替代應用程式控制項適用於 Car-apps-release-14 以上版本。

    • 允許應用程式播放背景音訊
    • 讓未使用 MediaBrowserService 的應用程式仍可透過系統媒體資訊卡控制。
  • 平台必須宣告支援 com.android.car.background_audio_while_driving

平台變更

平台 CarMediaApp 必須:

  • 有權啟用媒體應用程式的 CAL 活動。請參閱程式碼範例
  • 在支援 android.software.car.templates_host.media 功能的裝置上,啟動 CAL 活動,而非媒體中心。請參閱程式碼範例

平台車輛啟動器必須符合下列條件:

  • CarMediaApp啟用媒體應用程式的 CAL 活動後,車輛啟動器只會顯示一個應用程式圖示。
  • 監聽 PACKAGE_CHANGED 廣播,然後重新整理應用程式清單。請參閱程式碼範例

平台上的媒體資訊卡或小工具必須符合下列條件:

  • 在媒體資訊卡中顯示播放的音訊。

建構設定

平台必須聲明支援 android.software.car.templates_host.media

<permissions>
    <!-- Declare support for templated applications. -->
    <feature name="android.software.car.templates_host" />

    <!-- This feature indicates that the system supports apps that use the
    Car App Library Media category -->
    <feature name="android.software.car.templates_host.media"/>
</permissions>

測試

測試平台支援使用 TestMediaCalApp 的 CAL 媒體應用程式。TestMediaCalApp 是使用 Car App Library 建構的媒體應用程式,範本主機會在平台上算繪這個應用程式。

  1. 安裝「TestMediaCalApp.apk」。

  2. 在啟動器中開啟名為「Test Media3 CAL App」的應用程式:

    在車輛啟動器上測試 Media3 CAL 應用程式

    圖 1. 在車輛啟動器上測試 Media3 CAL 應用程式。

  3. 應用程式啟動後,返回啟動器,您會發現應用程式名稱已變更為「Test Media CAL App」。先前名為「Test Media3 CAL App」的應用程式應該不會再顯示:

    在車輛啟動器上測試媒體 CAL 應用程式

    圖 2. 在車輛啟動器上測試媒體 CAL 應用程式。

  4. 開啟「Test Media CAL App」,然後輕觸播放清單中的歌曲,播放任何歌曲:

    由應用程式主機轉譯的播放清單檢視畫面

    圖 3. 由應用程式主機顯示的播放清單檢視畫面。

  5. 觀察開啟的「正在播放」檢視畫面 (MediaPlaybackTemplate):

    由應用程式主機顯示的「聽聲辨曲」檢視畫面

    圖 4. App Host 算繪的「正在播放」檢視畫面。

  6. 請注意,主畫面媒體小工具會顯示正在播放的媒體中繼資料:

    媒體資訊卡

    圖 5. 媒體資訊卡。