随着每个 Android 版本的发布,API 和行为变更会影响应用在 Android Auto 和 Android Automotive OS 上的工作方式。本页面详细介绍了其中的许多影响,并提供了有关如何更新应用以支持新版 Android 的信息。
Android 16
Android 15
- 由于针对 Android 15 或更高版本应用的窗口内边距变化,您应该测试分发到 Android Automotive OS 的应用,以验证您的应用所实现的活动是否按预期呈现。有关 Android Automotive OS 独有的注意事项的更多详细信息,请参阅使用窗口内边距和显示屏切口。
Android 14
- 由于针对 Android 14 或更高版本应用的需要前台服务类型的要求,请检查您是否为应用拥有的任何前台服务(例如导航和媒体播放服务)指定了前台服务类型。
- 由于针对 Android 14 或更高版本应用的运行时注册的广播接收器必须指定导出行为的要求,使用
CarConnection
API 的应用应更新到androidx.car.app:app:1.3.0-beta01
或更高版本。请参阅连接 API。 - 由于 Android Auto 在 Android 14 及更高版本设备上运行时发生的变更,从 Android Auto 应用在手机屏幕上启动活动时,在调用
startActivity()
时,需要提供一个ActivityOptions
,并将显示 ID 设置为手机显示屏的 ID (DEFAULT_DISPLAY
)。- 使用
CarContext.requestPermissions()
方法的应用应更新到androidx.car.app:app:1.7.0-alpha01
或更高版本,其中包含此修复程序。
- 使用
Android 13
- 对于使用车载 Android 应用库构建的应用,由
CarContext
提供的Configuration
的语言区域反映的是宿主应用的按应用语言偏好设置,而非您的应用。
Android 12
- 在运行 Android 12 或更高版本的设备上,Android Auto 在运行时不会更改设备的界面模式。请参阅如何检测 Android Auto 是否正在运行?。
- 由于针对 Android 12 或更高版本应用的更安全的组件导出要求,您必须为
MediaBrowserService
和CarAppService
服务显式声明<service>
元素上的android:exported
属性。 - 由于针对 Android 12 或更高版本应用的待定 Intent 可变性要求,您必须显式指定应用创建的任何待定 Intent 的可变性。例如,这包括消息应用用于处理回复消息或将其标记为已读的待定 Intent。