为了简化将移动应用引入 Android Automotive OS 设备的过程,某些汽车配备了兼容模式,可解决将现有移动应用引入汽车时遇到的常见问题。
虽然此兼容模式由车载移动应用就绪计划使用,但未参与该计划的应用也可在此模式下运行。
了解兼容模式
Android Automotive OS 兼容模式是一种软件功能,在某些车辆上可用,旨在改进专为移动设备构建的应用在 Android Automotive OS 上运行时的用户体验。
返回导航
与其他外形规格不同,Android Automotive OS 设备没有硬件或软件返回控件的要求。兼容模式通过要求系统提供返回控件(无论是硬件按钮、软件按钮、手势还是其他方式)来解决此问题。这消除了应用仅通过其自身 UI 元素来确保可导航性的需要。

使用兼容模式

不使用兼容模式
安全区域渲染
在汽车中,软件和硬件元素(例如系统栏和显示切口)可能会打破主要为移动设备开发的应用所做的假设。兼容模式通过确保应用在安全区域中渲染来解决此问题。
密度缩放
由于汽车中的交互距离大于其他大屏幕设备,因此在汽车上运行时,触摸目标和字体大小通常小于建议值。兼容模式通过允许 OEM 指定渲染应用时使用的 DPI 缩放因子来解决此问题。
Activity 生命周期
如为驻车应用添加对 Android Automotive OS 的支持中所述,当汽车进入驾驶模式时,操作系统会自动阻止您的应用活动,以减少对驾驶员的干扰。在支持兼容模式的设备上,OEM 的阻止 UI 不得透明,因此您的应用在被阻止时将不再可见并转换为停止生命周期状态。
配置兼容模式
默认情况下,当设备支持时,您的应用活动会在兼容模式下运行。如果清单中存在适用于 android.hardware.type.automotive
功能的 <uses-feature>
元素,则活动不会在兼容模式下运行。
<application ...>
...
<uses-feature android:name="android.hardware.type.automotive" ...>
...
</application>
如果您希望您的活动在显示兼容模式下运行,而不考虑前面描述的 <uses-feature>
元素,您可以在应用的清单中添加以下 <meta-data>
元素。
<application ...>
...
<meta-data android:name="android.software.car.display_compatibility" android:value="true"/>
...
</application>
在兼容模式下测试您的应用
要在兼容模式下测试您的应用,您可以使用带有兼容模式的通用系统映像或Pixel 平板电脑上的 Android Automotive OS 系统映像。
确定设备支持
支持 Android Automotive OS 兼容模式的设备必须声明 android.software.car.display_compatibility
系统功能。要了解哪些设备支持此功能,您可以使用 Play 管理中心内的设备目录。