通过设备管理,您可以远程管理搭载 Android Automotive OS (AAOS) 的车辆。例如,车辆所有者可能希望远程将信息娱乐设备恢复出厂设置。
在 Automotive 中,我们提供以下两类设备管理:
- 个人设备。归消费者所有的车辆。车辆所有者远程管理汽车。例如,所有者使用车辆的移动应用来远程将信息娱乐设备恢复出厂设置。
- 企业设备。归企业或组织所有的车辆。 管理员远程管理汽车。
个人设备
在个人设备场景中,远程管理车辆需要考虑汽车的驾驶状态。例如,如果车辆所有者远程触发恢复出厂设置,那么当汽车正由他人驾驶时,则不应恢复出厂设置。
因此,我们设置了一组与驾驶状态限制集成的设备管理 API。任何具有正确权限的系统应用(系统分区中的预安装应用)都可以调用这些 API。
个人设备管理 API
API | 用途 |
---|---|
CarDevicePolicyManager.createUser() |
在设备后台创建新用户。 它如何与驾驶状态交互? 无论驾驶状态如何,系统都会在后台创建新用户。 |
CarDevicePolicyManager.RemoveUser() |
移除设备上的现有用户。 它如何与驾驶状态交互? 如果目标用户: |
DevicePolicyManager.lockNow() |
锁定设备上的现有用户。如果用户已有锁屏凭据(例如 PIN 码或图案),显示屏将保持开启状态。 它如何与驾驶状态交互? 如果目标用户: |
DevicePolicyManager.resetPassword() |
通过设置锁屏凭据来锁定设备上的现有用户,前提是该用户还没有凭据。显示屏将保持开启状态。 它如何与驾驶状态交互? 如果目标用户: |
DevicePolicyManager.wipeData() |
在设备上触发恢复出厂设置。 它如何与驾驶状态交互? 无论驾驶状态为何(PARKED、IDLING 或 MOVING),操作都会继续。系统会发布通知,通知驾驶员需要恢复出厂设置。 车辆处于 PARKED 状态时,驾驶员可以与通知交互,以便选择立即或以后再(下次启动汽车时)重置设备。 |
例如:
图 1. 触发恢复出厂设置后系统发布的通知。
图 2. 车辆处于 PARKED 状态时,驾驶员可以与通知交互,以便选择立即或以后再(下次启动汽车时)重置设备。
图 3. 如果驾驶员选择以后再重置,系统会显示消息框消息,指明设备将在下次汽车启动时恢复出厂设置。
企业设备
搭载 Android 13 SC 2 及更高版本的 Android Automotive OS 设备可以声明支持 android.software.device_admin
功能,以启用企业设备管理 API(如需了解详情,请参阅 DevicePolicyManager)。然后,组织可以使用设备政策控制器 (DPC) 应用控制设备上的本地设备政策和系统应用。
Automotive 不支持工作资料,这意味着唯一受支持的管理解决方案是全托管式设备,它适用于组织拥有完全管理控制权的公司自有设备。
远程管理车辆的企业还必须考虑汽车的驾驶状态。因此,特定的远程操作也与车辆的驾驶状态集成。例如,DevicePolicyManager.setFactoryResetProtectionPolicy()
中的恢复出厂设置流程也适用于支持企业的车辆。
DevicePolicyManager
code> 中的任何 API 都可能会抛出异常(例如,车辆正在行驶中)。下面提供了 DevicePolicyManager
code> API 的部分列表。如需了解详情,请参阅设备管理概览。
DevicePolicyManager.removeActiveAdmin()
DevicePolicyManager.setFactoryResetProtectionPolicy()
DevicePolicyManager.installCaCert()
DevicePolicyManager.uninstallCaCert()
DevicePolicyManager.installKeyPair()
DevicePolicyManager.removeKeyPair()
支持多用户的企业设备管理
适用于 Automotive 的设备管理可与多用户支持搭配使用。这意味着多名驾驶员可以使用同一辆公司自有车辆,但使用他们自己的用户保护数据隐私,避免将数据暴露给其他驾驶员。
管理员可以使用 DPC 应用(如构建设备政策控制器中所述)来控制设备级政策或针对特定用户的政策。
Automotive build 通常使用无头系统用户模式,在这种情况下,系统会将 DPC 设置为系统用户的设备所有者 (DO) 和所有其他用户的资料所有者 (PO)。远程管理员应与 PO 用户建立关联,因为某些 API(如 requestBugreport()
)只有在所有用户都建立关联后才可用。然后,远程管理员应选择适当的 DPC 以执行操作。如果操作与设备相关联(例如通过 wipeData()
恢复出厂设置),则应使用 DO DPC。如果与用户关联(如 addUserRestriction()
),则应使用 PO DPC。
如需详细了解 DPC 应用如何管理多个用户,请参阅关联的用户。