Android Automotive OS 相容性模式

為簡化將行動應用程式帶入 Android Automotive OS 裝置的程序,部分車輛提供相容模式,可解決將現有行動應用程式帶入車輛時面臨的常見問題。

車用行動應用程式計畫會使用這個相容模式, 但未加入該計畫的應用程式也能以這個模式執行。

瞭解相容性模式

Android Automotive OS 相容性模式是部分車輛提供的軟體功能,可改善在 Android Automotive OS 上執行專為行動裝置建構的應用程式時,使用者體驗。

返回瀏覽

與其他板型規格不同,Android Automotive OS 裝置不需要提供硬體或軟體返回功能。相容性模式會要求系統提供返回功能 (例如硬體按鈕、軟體按鈕或手勢),藉此解決這個問題。也就是說,如果應用程式只指定相容模式裝置,就不必提供自己的返回瀏覽控制項。

即使應用程式未在 UI 中提供返回功能,使用者仍可返回上一個畫面。
使用者無法返回上一個畫面。

安全區域轉譯

在車輛中,系統資訊列和螢幕凹口等軟硬體元素可能會導致您在開發主要用於行動裝置的應用程式時,所做的假設無效。相容性模式會在安全區域內算繪應用程式,解決這個問題。

密度縮放

車輛的互動距離大於其他大螢幕裝置,因此在車輛上執行時,觸控目標和字型大小通常會小於建議值。相容性模式可讓原始設備製造商指定用於算繪應用程式的 DPI 縮放比例係數,解決這個問題。

活動生命週期

如「在應用程式中新增 Android Automotive OS 支援功能」一文所述,OS 會在車輛進入行車模式時自動封鎖應用程式活動,以免駕駛分心。在相容模式裝置上,原始設備製造商 (OEM) 的封鎖 UI 不得為透明,因此應用程式遭到封鎖時,將不再顯示,並轉換為 Stopped 生命週期狀態

設定相容性模式

根據預設,如果裝置支援相容性模式,應用程式的活動就會在該模式下執行。如果資訊清單中存在 android.hardware.type.automotive 功能的 <uses-feature> 元素,活動不會在相容模式下執行:

<manifest ...>
  ...
  <uses-feature android:name="android.hardware.type.automotive" ...>
  ...
</manifest>

如果您希望活動以螢幕相容性模式執行,不論先前所述的 <uses-feature> 元素為何,都可以在應用程式資訊清單中新增下列 <meta-data> 元素:

<application ...>
  ...
  <meta-data android:name="android.software.car.display_compatibility" android:value="true"/>
  ...
</application>

在相容性模式下測試應用程式

如要在相容性模式下測試應用程式,可以使用提供相容性模式的通用系統映像檔,或 Pixel Tablet 上的 Android Automotive OS 系統映像檔。

確認裝置支援

支援 Android Automotive OS 相容模式的裝置必須宣告 android.software.car.display_compatibility 系統功能。如要瞭解哪些裝置支援這項功能,請使用 Play 管理中心的「裝置目錄」。