工作配置文件是一种托管配置文件,它具有与主用户配置文件分开的应用程序数据,但共享一些系统范围的设置,例如 Wi-Fi 和蓝牙。工作配置文件的主要目标是创建一个隔离且安全的容器来保存托管数据。工作配置文件的管理员可以完全控制数据的范围、入口、出口和生命周期。以下是工作档案的一些特征:
创建。主用户中的任何应用程序都可以创建工作配置文件。在创建之前,用户会收到有关工作配置文件行为和策略实施的通知。
管理。称为配置文件所有者的应用程序可以以编程方式调用
DevicePolicyManager
类中的 API 来限制使用。配置文件所有者是在初始配置文件设置时定义的。工作配置文件特有的策略涉及应用程序限制、可更新性和意图行为。视觉治疗。工作配置文件中的应用程序、通知和小部件带有标记,通常与主要用户的用户界面 (UI) 元素一起提供。
实施细节
工作配置文件作为辅助用户实现,因此工作配置文件中运行的应用程序的 UID 为uid = 100000 \* userid + appid
。这些配置文件具有单独的应用程序数据 ( /data/user/userid
),类似于主要用户。
AccountManagerService
为每个用户维护一个单独的帐户列表。工作配置文件用户和常规辅助用户之间的帐户差异包括以下内容:
工作配置文件与其父用户关联,并在启动时由主用户启动。
工作配置文件的通知由
ActivityManagerService
启用,允许工作配置文件与主用户共享活动堆栈。其他共享系统服务包括 IME、A11Y 服务、Wi-Fi 和 NFC。
启动器 API 使启动器能够在主配置文件中的应用程序旁边显示工作配置文件中的标记应用程序和列入白名单的小部件,而无需切换用户。
数据隔离
工作配置文件使用以下数据隔离规则。
应用
当主用户和工作配置文件中存在相同的应用程序时,应用程序将以其自己的隔离数据为范围。通常,应用程序独立运行,无法跨配置文件用户边界与实例直接通信,除非它们拥有INTERACT_ACROSS_PROFILES
权限或App-ops 。
账户
工作配置文件中的帐户对于主用户来说是唯一的,并且无法跨配置文件用户边界访问凭据。只有各自上下文中的应用程序才能访问各自的帐户。
意图
管理员控制是否在工作配置文件中解析意图。默认情况下,工作配置文件中的应用程序的范围仅限于设备策略 API 的工作配置文件例外范围内。
设备标识符
在具有工作配置文件的个人设备上,Android 12 或更高版本删除了对设备硬件标识符(IMEI、MEID、序列号)的访问权限,并提供了唯一的、特定于注册的 ID ,用于标识特定组织的工作配置文件注册。确保注册 ID 在恢复出厂设置后保持稳定,从而能够对具有工作配置文件的设备进行可靠的库存跟踪。
具有工作配置文件的个人拥有的设备必须使用特定于注册的 ID;公司拥有的设备(包括工作配置文件和完全托管的设备)也可以选择使用该 ID。要使用注册特定 ID,EMM 必须为其管理的每台设备设置组织 ID ,之后他们可以读取该设备上的注册特定 ID 并将其作为序列号处理。有关更多详细信息,请参阅工作资料的安全和隐私增强功能。
设置
设置强制执行的范围仅限于工作配置文件,但锁定屏幕和加密设置除外,这些设置的范围仅限于设备并在主用户和工作配置文件之间共享。除了这些例外情况之外,配置文件所有者在工作配置文件之外没有设备管理员权限。
具有工作配置文件的设备上的设备管理
Android 5.0 及更高版本支持使用DevicePolicyManager
类对自带设备 (BYOD) 个人设备上的工作配置文件进行设备管理。此外,Android 11 在公司自有设备上引入了工作配置文件的概念。对于 BYOD 和公司拥有的设备情况,工作配置文件内的设备管理功能保持相同,但是公司拥有的设备上的工作配置文件可能提供其他功能/策略,例如installSystemUpdate
、 setScreenCaptureDisabled
和setPersonalAppsSuspended
,这些功能/策略可以扩展管理策略实施超出某些设备范围策略的工作配置文件。
个人设备上的工作配置文件 (BYOD):该设备是个人设备,包含由与雇主关联的 IT 管理员管理的工作配置文件。
公司自有设备上的工作配置文件:该设备由雇主提供/拥有,并包含由与雇主关联的 IT 管理员管理的工作配置文件。应用程序可以调用
isOrganizationOwnedDeviceWithManagedProfile()
来确定设备是否已配置为具有托管配置文件的组织拥有的设备。
有关工作配置文件创建和设备策略 API 使用的更多信息,请参阅创建工作配置文件。
个人资料所有者
创建工作配置文件时,设备策略客户端 (DPC) 应用程序将充当配置文件所有者。 DPC 客户端应用程序通常由企业移动管理 (EMM) 合作伙伴(例如 Google Apps Device Policy)提供,并且在设置为配置文件所有者时能够执行策略。工作配置文件具有标记的应用程序实例,这些实例在视觉上与个人应用程序实例不同;该徽章将应用程序标识为工作应用程序。 EMM 只能控制工作配置文件(工作应用程序和数据),而不能控制个人空间。设备策略仅在工作配置文件上强制执行,但有一些例外,例如强制执行适用于整个设备的锁定屏幕。
工作资料用户体验
Android 9 或更高版本在工作配置文件和 Android 平台之间建立了更紧密的集成,使用户可以更轻松地将工作信息和个人信息在设备上分开。工作配置文件更改显示在启动器中,并在托管设备上提供一致的用户体验。
用户可以从设置或快速设置菜单切换工作配置文件。在 Android 9 或更高版本中,设备实现可能会在工作选项卡页脚中包含一个切换开关,供用户启用或禁用工作配置文件。切换工作配置文件是异步完成的,并应用于所有有效的用户配置文件;此过程由WorkModeSwitch
类控制。
带有应用程序托盘的设备
在 Android 9 或更高版本中,Launcher3 的工作配置文件 UX 更改可帮助用户维护单独的个人配置文件和工作配置文件。应用程序抽屉提供选项卡式视图,以区分个人配置文件应用程序和工作配置文件应用程序。当用户第一次查看工作配置文件选项卡时,他们会看到一个教育视图,以帮助他们导航工作配置文件。
用户可以使用应用程序抽屉顶部的配置文件选项卡或类似的用户界面在不同的配置文件视图之间切换:
![](https://source.android.google.cn/static/docs/devices/admin/images/Work-profile0.png?authuser=7&hl=ro)
图 1.个人选项卡视图
![](https://source.android.google.cn/static/docs/devices/admin/images/Work-profile1.png?authuser=7&hl=ro)
图 2.工作选项卡视图,工作配置文件切换
选项卡式视图作为AllAppsContainerView
Launcher3 类的一部分实现。有关选项卡式配置文件指示器的参考实现,请参阅PersonalWorkSlidingTabStrip
类。
带有工作选项卡的设备中的用户教育消息
Android 9 或更高版本支持教育视图,告知用户工作选项卡的用途以及如何使工作应用程序更易于访问。使用Launcher3,当用户第一次打开工作选项卡时,可以在工作选项卡屏幕中显示教育视图,如下所示:
图 3.教育视图
没有应用程序托盘的设备
对于没有应用程序托盘的启动器,建议继续在工作文件夹中放置工作配置文件应用程序的快捷方式。
自定义启动器实现可以使用getProfiles()
和getActivityList()
来检索带有工作配置文件用户的启动器图标的应用程序列表。
在实现工作文件夹的设备中,用户可以通过打开工作文件夹来访问工作配置文件应用程序:
![](https://source.android.google.cn/static/docs/devices/admin/images/Work-profile8.png?authuser=7&hl=ro)
图 4.关闭的工作文件夹
![](https://source.android.google.cn/static/docs/devices/admin/images/Work-profile9.png?authuser=7&hl=ro)
图 5.打开的工作文件夹
具有工作文件夹的设备中的用户教育消息
对于没有应用程序托盘的启动器,其中工作文件夹包含工作应用程序,当用户第一次打开工作文件夹时,工作配置文件教育消息可能会以可关闭工具提示的形式显示:
图 3.可关闭的工具提示
验证工作配置文件用户体验
测试工作配置文件用户体验的最简单方法是使用测试 DPC 应用程序设置工作配置文件。以下步骤描述了如何在个人设备上设置工作配置文件(BYOD 场景):
首先将设备恢复出厂设置,然后使用个人 Google 帐户完成个人资料设置,或者使用具有个人资料的设备作为起点。
从 Google Play 商店安装测试 DPC应用程序。
打开启动器或应用程序抽屉,然后选择“设置测试 DPC” 。
按照屏幕上的说明设置工作配置文件:
图 4.设置工作配置文件
图 5.添加帐户
图 6.设置完成打开启动器或应用程序抽屉并验证工作选项卡是否存在并且包含工作配置文件页脚。替代设备制造商实现可以包含工作文件夹而不是工作选项卡。
通过确认工作配置文件应用程序(带有公文包徽章的应用程序)按预期启用和禁用,验证您是否可以从“快速设置”(或多个设置)切换工作配置文件。在某些设备实现中,当工作配置文件被禁用时,工作应用程序可能会变灰,而其他设备(例如带有工作选项卡的实现)可能会显示一个覆盖层,其中包含一条消息,通知工作配置文件已关闭。下图显示了实现工作选项卡的设备上启用和禁用的工作配置文件的示例:
图 7.打开,工作配置文件已启用
图 8.关闭,工作配置文件已禁用
工作资料应用徽章
在 Android 9 或更高版本中,出于辅助功能的原因,工作徽章的颜色为蓝色 (#1A73E8),而不是橙色。