Android Automotive OS 兼容模式

为了简化将移动应用引入 Android Automotive OS 设备的过程,某些汽车配备了兼容模式,可解决将现有移动应用引入汽车时遇到的常见问题。

虽然此兼容模式由车载移动应用就绪计划使用,但未参与该计划的应用也可在此模式下运行。

了解兼容模式

Android Automotive OS 兼容模式是一种软件功能,在某些车辆上可用,旨在改进专为移动设备构建的应用在 Android Automotive OS 上运行时的用户体验。

返回导航

与其他外形规格不同,Android Automotive OS 设备没有硬件或软件返回控件的要求。兼容模式通过要求系统提供返回控件(无论是硬件按钮、软件按钮、手势还是其他方式)来解决此问题。这消除了应用仅通过其自身 UI 元素来确保可导航性的需要。

即使应用未在其 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 管理中心内的设备目录