在运行 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 构建和测试您的应用时,您可以使用以下 Desktop Head Unit (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