為簡化將行動應用程式導入 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 管理中心的「裝置目錄」。