在搭载 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 connectionType = ...
val displayId = context.display.displayId
isRunningOnAndroidAuto = connectionType == CONNECTION_TYPE_PROJECTION and displayId != DEFAULT_DISPLAY