媒體應用程式開發人員可以使用 Car App Library (CAL) 建構應用程式的使用者介面。這個程式庫提供替代方法,不必透過 MediaBrowserService 提供資料,讓 CarMediaApp 進行算繪。
開發人員可以透過 CAL 範本媒體應用程式,自訂使用者介面來配合品牌識別。與 CAL 架構的應用程式不同,使用 MediaBrowserService 和 CarMediaApp 的傳統媒體應用程式不允許開發人員自訂 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 建構的媒體應用程式,範本主機會在平台上算繪這個應用程式。
安裝「
TestMediaCalApp.apk」。在啟動器中開啟名為「Test Media3 CAL App」的應用程式:
圖 1. 在車輛啟動器上測試 Media3 CAL 應用程式。
應用程式啟動後,返回啟動器,您會發現應用程式名稱已變更為「Test Media CAL App」。先前名為「Test Media3 CAL App」的應用程式應該不會再顯示:
圖 2. 在車輛啟動器上測試媒體 CAL 應用程式。
開啟「Test Media CAL App」,然後輕觸播放清單中的歌曲,播放任何歌曲:
圖 3. 由應用程式主機顯示的播放清單檢視畫面。
觀察開啟的「正在播放」檢視畫面 (
MediaPlaybackTemplate):
圖 4. App Host 算繪的「正在播放」檢視畫面。
請注意,主畫面媒體小工具會顯示正在播放的媒體中繼資料:
圖 5. 媒體資訊卡。