汽车设备管理

设备管理使您能够远程管理运行 Android Automotive OS (AAOS) 的车辆。例如,车主可能想要远程将信息娱乐系统恢复出厂设置。

在汽车领域,我们提供两种类别的设备管理

  • 个人设备。 车辆由消费者拥有。车主远程管理汽车。例如,车主使用车辆的移动应用远程执行信息娱乐系统的出厂重置。
  • 企业设备。 车辆由企业或组织拥有。管理员远程管理汽车。

个人设备

在个人设备场景中,远程管理车辆需要考虑汽车的驾驶状态。例如,如果车主远程触发恢复出厂设置,则当其他人正在驾驶汽车时,车辆不应恢复出厂设置。

因此,我们有一组与驾驶状态限制集成的设备管理 API。这些 API 可以由任何具有正确权限的系统应用(系统分区中预安装的应用)调用。

个人设备管理 API

API 用途
CarDevicePolicyManager.createUser()

在设备后台创建新用户。

它如何与驾驶状态互动?

无论驾驶状态如何,都会在后台创建新用户。

CarDevicePolicyManager.RemoveUser()

移除设备上的现有用户。

它如何与驾驶状态互动?

如果目标用户处于

  • 后台,则操作继续。
  • 前台且汽车处于 驻车怠速 状态,则操作继续。
  • 前台且汽车处于 行驶 状态,则会抛出异常代码。
DevicePolicyManager.lockNow()

锁定设备上的现有用户。如果用户具有现有的锁屏凭据(例如,PIN 码或图案),则显示屏保持开启状态。

它如何与驾驶状态互动?

如果目标用户处于

  • 后台,则操作继续。
  • 前台且汽车处于 驻车怠速行驶 状态,如果用户在前台(无论驾驶状态如何),则操作继续,否则忽略。lockNow() 不受用户体验分心状态的限制。
DevicePolicyManager.resetPassword()

通过设置锁屏凭据来锁定设备上的现有用户(如果用户没有现有凭据)。显示屏保持开启状态。

它如何与驾驶状态互动?

如果目标用户处于

  • 后台,则操作继续。
  • 前台且汽车处于 驻车怠速 状态,则操作继续。
  • 前台且汽车处于 行驶 状态,则会抛出异常代码。
DevicePolicyManager.wipeData()

触发设备上的恢复出厂设置。

它如何与驾驶状态互动?

无论驾驶状态(驻车怠速行驶)如何,操作都会继续。系统会发布通知,告知驾驶员需要恢复出厂设置。

当车辆处于驻车状态时,驾驶员可以与通知互动,选择立即重置设备或稍后重置(在下次启动汽车时)。

例如

Factory reset notification

图 1. 当触发恢复出厂设置时,系统发布通知。

Vehicle is PARKED

图 2. 当车辆处于驻车状态时,驾驶员可以与通知互动,选择立即重置设备或稍后重置(在下次启动汽车时)。

Driver chooses Reset

图 3. 如果驾驶员选择稍后重置,则 Toast 消息会指示设备将在下次启动汽车时恢复出厂设置。

企业设备

运行 Android 13 及更高版本的 Android Automotive OS 设备可以声明支持 android.software.device_admin 功能以启用企业设备管理 API(要了解更多信息,请参阅 DevicePolicyManager)。然后,组织可以使用 设备策略控制器 (DPC) 应用来控制本地设备策略和设备上的系统应用。

汽车不支持 工作资料,这意味着唯一支持的管理解决方案是 完全托管设备,该设备适用于公司拥有的设备,组织对其具有完全管理控制权。

远程管理车辆的企业还必须考虑汽车的驾驶状态。因此,特定的远程操作也与车辆的驾驶状态集成。例如,恢复出厂设置 流程在 DevicePolicyManager.setFactoryResetProtectionPolicy() 中也适用于启用企业的车辆。

来自 DevicePolicyManagercode> 的任何 API 都可能抛出异常(例如,如果车辆正在行驶)。下面提供了 DevicePolicyManagercode> API 的部分列表。要了解更多信息,请参阅 设备管理概述

  • DevicePolicyManager.removeActiveAdmin()
  • DevicePolicyManager.setFactoryResetProtectionPolicy()
  • DevicePolicyManager.installCaCert()
  • DevicePolicyManager.uninstallCaCert()
  • DevicePolicyManager.installKeyPair()
  • DevicePolicyManager.removeKeyPair()

面向多用户的企业设备管理

汽车设备管理与 多用户支持 协同工作。这意味着多位驾驶员可以使用同一辆公司拥有的车辆,但通过使用自己的用户来保护和防止他们的数据隐私暴露给其他驾驶员。

管理员可以使用设备策略控制器 (DPC) 应用(如 构建设备策略控制器 中所述)来控制设备范围或用户特定的策略。

汽车版本通常使用无头系统用户模式,在这种情况下,设备策略控制器 (DPC) 将设置为系统用户的设备所有者 (DO) 和每个其他用户的资料所有者 (PO)。远程管理员应关联 PO 用户,因为某些 API(如 requestBugreport())仅在所有用户都关联时可用。然后,远程管理员应选择合适的 DPC 来执行操作。如果操作与设备关联(如通过 wipeData() 恢复出厂设置),则应使用 DO DPC。如果它与用户关联(如 addUserRestriction()),则应使用 PO DPC。

DPC 应用需要在 DO 和 PO 之间建立 IPC。我们建议使用 关联工作和个人应用 中描述的关联应用 API。

有关 DPC 应用如何管理多用户的更多信息,请参阅关联用户