为了简化将移动应用引入 Android Automotive OS 设备的过程,某些汽车配备了兼容模式,可解决将现有移动应用引入汽车时面临的常见问题。
虽然“适配汽车的移动应用”计划会使用此兼容模式, 但未加入该计划的应用也可以在该模式下运行。
了解兼容模式
Android Automotive OS 兼容模式是某些车辆上提供的一项软件功能,旨在提升专为移动设备打造的应用在 Android Automotive OS 上运行时提供的用户体验。
返回导航
与其他设备不同,Android Automotive OS 设备不需要提供硬件或软件返回功能。兼容模式通过要求系统提供返回功能(例如硬件按钮、软件按钮或手势)来解决此问题。这意味着,如果应用仅面向支持兼容模式的设备,则无需提供自己的返回导航控件。
启用兼容模式的情况下
未启用兼容模式的情况下
安全区域渲染
在汽车中,系统栏和显示屏凹口等软件和硬件元素可能会使主要为 移动设备开发应用时做出的假设失效。兼容模式通过在安全区域内渲染应用来解决此问题。
密度缩放
由于汽车中的交互距离大于其他大屏设备,因此在汽车上运行时,触摸目标和字号通常小于建议值。兼容模式通过允许 OEM 指定渲染应用时使用的 DPI 缩放系数来解决此问题。
activity 生命周期
如在向停放的 应用添加 Android Automotive OS 支持中所述,当汽车进入 驾驶模式后,操作系统会自动阻止您的应用 activity,以减少让驾驶员分心的因素。在支持 兼容模式的设备上,OEM 的阻止界面不得透明,因此您的应用 在被阻止后将不再可见,并转换为“已停止”生命周期状态 。
配置兼容模式
默认情况下,如果设备支持兼容模式,则应用 activity 会在兼容模式下运行。如果清单中存在
<uses-feature> 功能的 android.hardware.type.automotive
元素,则 activity 不会 在兼容模式下运行:
<manifest ...>
...
<uses-feature android:name="android.hardware.type.automotive" ...>
...
</manifest>
如果您希望 activity 在显示屏兼容模式下运行,
而不考虑前面介绍的 <uses-feature> 元素,
则可以在应用的清单中添加以下 <meta-data> 元素:
<application ...>
...
<meta-data android:name="android.software.car.display_compatibility" android:value="true"/>
...
</application>
在兼容模式下测试应用
如需在兼容模式下测试应用,您可以使用支持兼容模式的通用系统映像 或 Android Automotive OS on Pixel Tablet 系统 映像。
确定设备支持情况
支持 Android Automotive OS 兼容模式的设备必须声明 android.software.car.display_compatibility 系统功能。如需了解
哪些设备支持此功能,您可以使用 Play 管理中心的
设备目录。