Android Automotive OS 相容性模式

為簡化將行動應用程式導入 Android Automotive OS 裝置的程序,部分車輛會提供相容性模式,以解決將現有行動應用程式導入車輛時遇到的常見問題。

雖然這個相容性模式是由「車用行動應用程式」計畫使用,但非該計畫的應用程式也可以在這個模式下執行。

瞭解相容性模式

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

返回瀏覽

與其他板型規格不同,Android Automotive OS 裝置不需要具備硬體或軟體返回操作元素。相容性模式會要求系統提供返回操作元素,無論是硬體按鈕、軟體按鈕、手勢或其他操作元素皆可。這樣一來,應用程式就不需要透過自身的 UI 元素確保可導覽性。

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

安全區域算繪

在車輛中,系統資訊列和螢幕凹口等軟硬體元素,可能會導致主要針對行動裝置開發的應用程式假設不成立。相容性模式會確保應用程式在安全區域中顯示,以解決這個問題。

密度縮放

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

活動生命週期

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

設定相容性模式

根據預設,如果裝置支援相容性模式,應用程式的活動就會在相容性模式下執行。在下列情況下,活動不會以相容模式執行:

  • 當資訊清單中包含 android.hardware.type.automotive 功能的 <uses-feature> 元素時:
<application ...>
  ...
  <uses-feature android:name="android.hardware.type.automotive" ...>
  ...
</application>
  • 如果有任何 <activity> 資訊清單元素包含下列 <meta-data> 元素:
<meta-data android:name="distractionOptimized" android:value="true">

如果您的應用程式符合上述任一情況,但您希望活動以顯示相容模式執行,可以在應用程式資訊清單中新增下列 <meta-data> 元素:

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

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

如要在相容性模式下測試應用程式,您可以使用含有相容性模式的通用系統映像檔

判斷裝置支援

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