实施设备管理

本页面介绍了设备制造商在 Android 上启用设备管理的指南。为了支持设备管理,设备必须满足 Android 兼容性定义文档 (CDD)第 3.9 节 设备管理中定义的所有软件兼容性要求。此处提供的实施指南并非详尽无遗,仅作为实施 Android 设备管理的起点。

启用设备管理

要在 Android 上启用设备管理,请启用以下功能

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

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

设置要求

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

  • 加密设备(如果启用了加密)。
  • 建立托管用户。
  • 停用可选应用。
  • 将企业移动管理 (EMM) 设备政策控制器 (DPC) 应用设置为设备所有者个人资料所有者

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

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

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

启动器要求

为了支持设备管理,启动器必须支持使用工作图标徽章(AOSP 中提供,用于表示托管应用)标记应用。托管设备或个人资料上的其他用户界面元素(例如通知)必须使用带有工作徽章的素材资源。AOSP 中的 Launcher3 已经支持这些徽章功能。

默认工作应用

默认情况下,仅将对于托管设备或工作资料的正确运行必不可少的应用作为 Android 企业配置的一部分启用。设备制造商可以使用以下 XML 文件指定默认应用列表

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

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

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

  • 没有启动器图标的应用被视为重要的系统组件,并且由 Android 自动启用。
  • 具有启动器图标的应用可以在设备配置期间通过在 vendor_required_apps_managed_[device|profile|user].xml 文件中允许列出其软件包名称来默认启用。
  • 所有其他应用在设备配置期间都会自动停用。

在配置了无头系统用户的设备中实施设备所有者

Android 14(API 级别 34)引入了无头系统用户模式配置,其中系统用户是后台用户,而前台用户是辅助用户。由于设备所有者功能传统上依赖于系统用户也位于前台,因此无头系统用户配置为完全托管设备(设备所有者配置)带来了一些独特的挑战。

Headless system user mode

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

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