向停车状态下使用的应用添加 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 过滤器中,但如果需要,也可以放在不同的 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 displayId = context.display?.displayId ?: DEFAULT_DISPLAY
isRunningOnAndroidAuto = (connectionType == CONNECTION_TYPE_PROJECTION) && (displayId != DEFAULT_DISPLAY)