实现设备管理

本页介绍了设备制造商在 Android 设备上启用设备管理功能的准则。如需支持设备管理功能,设备必须满足第 3.9 节设备管理部分(位于 Android 兼容性定义文档 (CDD))中定义的软件兼容性要求。本文提供的实现准则并非详尽无遗,仅用作实现 Android 设备管理的起点。

启用设备管理功能

如需在 Android 设备上启用设备管理功能,请启用以下功能:

  • android.software.device_admin
  • android.software.managed_users

如需确认设备是否支持设备管理功能,请在设备上运行以下 adb 命令并验证它是否提供这些功能:adb shell pm list features

设置要求

实现设备所有者或资料所有者配置的设备必须在设置(开箱即用体验或工作资料设置)期间向最终用户披露适当的信息。AOSP 提供了一个参考实现。托管配置是在全托管式设备或工作资料设置期间调用的 Android 框架界面流程,用于确保设备用户充分了解在设备上设置设备所有者或受管资料的影响。托管配置在配置期间执行以下活动,或将这些活动委托给设备政策管理角色持有者:

  • 加密设备(如果已启用加密功能)。
  • 创建受管理的用户。
  • 停用可选应用。
  • 将企业移动管理 (EMM) 设备政策控制器 (DPC) 应用设为设备所有者资料所有者

反过来,DPC 应用会执行以下活动:

  • 添加用户账号。
  • 强制执行设备政策合规。
  • 启用任何其他系统应用。

完成配置后,DPC 应用的 ADMIN_POLICY_COMPLIANCE intent 处理程序会在全托管式设备用户(适用于设备所有者配置)或在工作资料用户(适用于资料所有者配置)中运行。然后,DPC 应用会添加账号并强制执行政策。

启动器要求

为了支持设备管理,启动器必须支持使用工作图标标记(在 AOSP 中提供,代表受管理应用)来标记应用。受管设备或资料上的其他界面元素(如通知)必须使用带有工作标记的素材资源。AOSP 中的 Launcher3 已支持这些标记功能。

默认工作应用

默认情况下,在配置 Android Enterprise 配置时,只能启用受管设备或工作资料正确运行所必需的应用。设备制造商可以使用以下 XML 文件来指定默认应用列表:

  • vendor_required_apps_managed_profile.xml
  • vendor_required_apps_managed_device.xml
  • vendor_required_apps_managed_user.xml

完成设备配置后,IT 管理员可以使用 EMM 控制台或 Google Play 企业版推送组织认为必要的任何其他应用。

在设备所有者(全托管式设备)模式和资料所有者(工作资料)模式下:

  • 不带启动器图标的应用被视为重要的系统组件,并由 Android 自动启用。
  • 带有启动器图标的应用可以在设备配置期间默认启用,方法是在 vendor_required_apps_managed_[device|profile|user].xml files 中将其软件包名称列入许可名单。
  • 在设备配置期间,所有其他应用都会被自动停用。

已配置无头系统用户的设备中的设备所有者实现

Android 14(API 级别 34)引入了无头系统用户模式配置,其中系统用户是后台用户,前台用户是次要用户。因为设备所有者功能传统上依赖于也在前台运行的系统用户,所以无头系统用户配置给全托管式设备(设备所有者配置)带来了某些独特的挑战。

无头系统用户模式

图 1. 无头系统用户模式。

在无头系统用户模式设备上,设备政策控制器 (DPC) 应用只有在支持关联模式 (HEADLESS_DEVICE_OWNER_MODE_AFFILIATED) 时才能设为设备所有者。系统会通过调用 getHeadlessDeviceOwnerMode() 检查是否支持关联模式。系统会根据 DPC 应用是否支持关联模式配置,相应地处理设备配置。