工作資料是一種託管資料,它具有與主要用戶資料分開的應用數據,但共享一些系統範圍的設置,例如 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 。
賬戶
工作配置文件中的帳戶對於主要用戶是唯一的,並且無法跨配置文件用戶邊界訪問憑據。只有在各自上下文中的應用程序才能訪問各自的帳戶。
意圖
管理員控制是否在工作資料中解析意圖。默認情況下,工作資料中的應用程序的範圍僅限於 Device Policy 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 更改可幫助用戶維護單獨的個人配置文件和工作配置文件。應用程序抽屜提供選項卡式視圖,以區分個人資料應用程序和工作資料應用程序。當用戶第一次查看工作資料選項卡時,他們會看到一個教育視圖,以幫助他們瀏覽工作資料。
用戶可以使用應用程序抽屜頂部的配置文件選項卡或類似的用戶界面在不同的配置文件視圖之間切換:
圖 1.個人選項卡視圖
圖 2.工作選項卡視圖,工作配置文件切換
選項卡式視圖作為AllAppsContainerView
Launcher3 類的一部分實現。有關選項卡式配置文件指示器的參考實現,請參閱PersonalWorkSlidingTabStrip
類。
具有工作選項卡的設備中的用戶教育消息
Android 9 或更高版本支持教育視圖,可告知用戶工作選項卡的用途以及如何使工作應用程序更易於訪問。使用 Launcher3,當用戶首次打開工作選項卡時,可以在工作選項卡屏幕中顯示教育視圖,如下所示:
圖 3.教育視圖
沒有應用托盤的設備
對於沒有應用程序托盤的啟動器,建議繼續在工作文件夾中放置工作配置文件應用程序的快捷方式。
自定義啟動器實現可以使用getProfiles()
和getActivityList()
來檢索具有工作配置文件用戶的啟動器圖標的應用程序列表。
在實現工作文件夾的設備中,用戶可以通過打開工作文件夾來訪問工作資料應用:
圖 4.關閉的工作文件夾
圖 5.打開的工作文件夾
具有工作文件夾的設備中的用戶教育消息
對於沒有應用程序托盤的啟動器,其中工作文件夾包含工作應用程序,當用戶第一次打開工作文件夾時,工作資料教育消息可能會以可關閉的工具提示的形式顯示:
圖 3. Dismissable 工具提示
驗證工作資料用戶體驗
測試工作資料用戶體驗的最簡單方法是使用測試 DPC 應用設置工作資料。以下步驟描述瞭如何在個人設備上設置工作配置文件(BYOD 場景):
從恢復出廠設置的設備開始,然後使用個人 Google 帳戶完成個人配置文件設置,或者使用具有個人配置文件的設備作為起點。
從 Google Play 商店安裝測試 DPC應用程序。
打開啟動器或應用程序抽屜並選擇設置測試 DPC 。
按照屏幕上的說明設置工作資料:
圖 4.設置工作資料
圖 5.添加帳戶
圖 6.設置完成打開啟動器或應用程序抽屜並驗證工作選項卡是否存在並包含工作資料頁腳。替代設備製造商實現可以包含工作文件夾而不是工作選項卡。
通過確認工作資料應用程序(帶有公文包徽章的應用程序)按預期啟用和禁用,驗證您是否可以從快速設置(或設置)切換工作資料。在某些設備實現中,當工作配置文件被禁用時,工作應用程序可能會灰顯,而其他應用程序(例如具有工作選項卡的實現)可能會顯示一個覆蓋層,其中包含一條通知工作配置文件已關閉的消息。下圖顯示了在實現工作選項卡的設備上啟用和禁用的工作配置文件的示例:
圖 7.開啟,啟用工作配置文件
圖 8.關閉,禁用工作資料
工作資料應用徽章
在 Android 9 或更高版本中,出於可訪問性原因,工作徽章的顏色為藍色 (#1A73E8) 而不是橙色。