新一代車輛支援多個螢幕,其中部分螢幕可能會透過 Android 操作,提供豐富的內容。本頁說明將檢測叢集和其他螢幕整合至 Android Automotive IVI 系統的重要元素。
Android 中的外接螢幕
Android 10 使用 android.app.Presentation API 支援外接螢幕。簡報是一種獨特的對話方塊,目的是在次要螢幕上呈現內容。呈現作業會在建立時與目標Display 建立關聯,並根據顯示指標設定結構定義和資源設定。
儀表板螢幕
一般儀表板螢幕顯示器的 Presentation API 已足夠,可提供下列寬限:
Presentation API 不需要:
- 分開音訊焦點。
- 執行整個活動或應用程式。
- 考慮並行使用者輸入內容。
- 處理觸控事件。
如要進一步瞭解如何使用多個螢幕,請參閱多螢幕總覽。
事前準備:熟悉 Android WindowManager 先前開發經驗的部分會很有幫助。
支援的內容類型
部分車輛可能不希望 Android 直接繪製儀表板圖形,但仍希望顯示即時路線導航或音樂名稱等資訊。Android 可以透過多種方式傳送這類資料。Android 裝置可將檢測叢集內容傳送成下列形式:
- 以中繼資料為基礎,例如透過
CarVendorExtensionManager
或VehicleNetworkService
透過 CAN 傳送訊息。儀表板系統必須根據中繼資料建立適當的圖形。 - 以圖形為基礎,可顯示在實體或虛擬螢幕上。螢幕可能是度量叢集內的專用螢幕,或完整圖形儀表板螢幕。
以圖形為基礎的儀表板螢幕硬體架構範例:
圖 2. 範例 Android Automotive 圖形儀表板螢幕。
安全性至關重要的 (負責轉譯儀表群組) 和 Android 作業系統可能會位於相同的多核心 SoC (例如,專用 Cortex-R 即時作業系統和 Cortex-A 的 Android)。介面可以是乙太網路 AVB (音訊視訊橋)、LVDS 或 HDMI。在 Android 中,圖形儀表群組可連接為虛擬顯示器,隱藏 Display HAL 實作後方的硬體架構。
後座限制
針對後座娛樂,簡報 API 具有下列限制:
- 無法投放整個活動 (簡報是對話方塊)。
- 僅提供一個音訊焦點。
- 沒有並行使用者。
- 外部螢幕沒有直接觸控事件 (需要個別的注入流程)。