向停车状态下使用的应用添加 Android Auto 支持

在搭载 Android 15 或更高版本的设备上,Android Auto 支持直接在车机上运行支持的停车应用类别中的应用。如需详细了解 Android Auto 上的停车状态下使用的应用的用户体验,请参阅停车状态下使用的应用

声明 Android Auto 支持

如需声明您的应用支持 Android Auto,您必须在应用清单中某个 activity 的 intent 过滤器中添加以下 <category> 元素:

<activity ...>
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        ...
        <category android:name="android.intent.category.CAR_LAUNCHER" />
    </intent-filter>
</activity>

一般来说,android.intent.category.CAR_LAUNCHER 类别的元素可以与 android.intent.category.LAUNCHER 元素放在同一 intent 过滤器中,但如果需要,也可以放在不同的过滤器中。

特定于类别的清单条目

除了上述要求之外,游戏还有一项额外要求。请参阅将应用标记为游戏

支持常见的 Android Auto 屏幕尺寸

为提供最佳用户体验,我们建议您让应用完全自适应不同的屏幕尺寸。至少,为了确保在支持 Android Auto 的各种汽车中获得优质体验,应用不得在横屏上出现明显的邮筒模式,如 DO-2 汽车应用质量指南中所述。

例如,如果应用在横屏上以竖屏宽高比运行并采用柱状遮幅,则会在 Play 商店审核期间被拒绝。在横屏上以横向宽高比运行且采用极简立柱模式的应用可以接受,在竖屏上以横向宽高比运行且采用信箱模式的应用也可以接受。

针对规范屏幕尺寸进行测试

在为 Android Auto 构建和测试应用时,您可以使用以下桌面车机 (DHU) 配置来验证应用是否满足上述要求:

小尺寸横向

[general]
resolution = 800x480
dpi = 160
...

广角横向

[general]
resolution = 1920x1080
dpi = 160
marginheight = 596
normalizedpi = true
cropmargins = true
...

纵向

[general]
resolution = 1920x1080
dpi = 160
marginwidth = 878
normalizedpi = true
cropmargins = true
...

检测 Android Auto 上的使用情况

如果您想检测应用何时通过 Android Auto 使用(例如出于分析目的),可以查看以下两个信号:

  • CarConnection API 报告的连接状态。连接 Android Auto 后,此图标将变为 CONNECTION_TYPE_PROJECTION
  • 有效显示屏的显示 ID。当应用在内置屏幕以外的显示屏上运行时(例如通过 Android Auto 使用时),此值为 DEFAULT_DISPLAY 以外的值。

以下代码段展示了如何结合使用这些信号来检测通过 Android Auto 进行的使用情况:

val connectionType = ...
val displayId = context.display.displayId
isRunningOnAndroidAuto = connectionType == CONNECTION_TYPE_PROJECTION and displayId != DEFAULT_DISPLAY