使用工作檔案

工作資料是一個 Android用戶,在管理和視覺美感方面具有額外的特殊屬性。工作資料的主要目標是為託管數據(例如公司數據)創建一個隔離且安全的空間來駐留。配置文件的管理員可以完全控制數據的範圍、入口、出口和生命週期。這些策略提供了巨大的權力,因此取決於工作資料而不是設備管理員。

  • 創建。主要用戶中的任何應用都可以創建工作資料。在創建之前,用戶會收到有關工作資料行為和策略實施的通知。

  • 管理。稱為配置文件所有者的應用程序可以通過編程方式調用DevicePolicyManager類中的 API 來限制使用。配置文件所有者在初始配置文件設置時定義。工作資料特有的策略涉及應用程序限制、可更新性和意圖行為。

  • 視覺處理。工作資料中的應用程序、通知和小部件帶有標記,並且通常與主要用戶的用戶界面 (UI) 元素內聯使用。

數據隔離

工作資料使用以下數據隔離規則。

應用

當主要用戶和工作資料中存在相同的應用程序時,應用程序將使用它們自己的隔離數據來限定範圍。通常,應用程序獨立運行,不能跨配置文件用戶邊界直接相互通信。

賬戶

工作配置文件中的帳戶對於主要用戶是唯一的,並且無法跨配置文件用戶邊界訪問憑據。只有在各自上下文中的應用程序才能訪問各自的帳戶。

意圖

管理員控制是否在工作資料中解析意圖。默認情況下,工作資料中的應用程序的範圍僅限於 Device Policy API 的工作資料例外。

設備標識符

在具有工作配置文件的個人設備上,Android 12 或更高版本會移除對設備硬件標識符(IMEI、MEID、序列號)的訪問權限,並提供一個唯一的、特定於註冊的 ID,用於標識特定組織的工作配置文件註冊。註冊 ID 保證在出廠重置期間保持穩定,從而能夠對具有工作配置文件的設備進行可靠的庫存跟踪。

具有工作配置文件的個人擁有的設備必須使用特定於註冊的 ID;公司擁有的設備(包括工作資料和完全託管的設備)也可以選擇使用該 ID。要使用,EMM 必須為他們管理的每台設備設置組織 ID,之後他們可以讀取該設備上的註冊特定 ID 並將其作為序列號處理。有關更多詳細信息,請參閱工作資料的安全和隱私增強

設置

設置實施範圍僅限於工作資料,但鎖定屏幕和加密設置的範圍僅限於設備並在主要用戶和工作資料之間共享。除這些例外情況外,配置文件所有者在工作配置文件之外沒有設備管理員權限。

工作資料作為輔助用戶實現,例如uid = 100000 \* userid + appid 。這些配置文件具有單獨的應用數據 ( /data/user/ userid ),類似於普通用戶。使用userid Binder.getCallingUid()為所有系統請求計算用戶 ID,並且所有系統狀態和響應由userid值分隔。

AccountManagerService為每個用戶維護一個單獨的帳戶列表。工作資料用戶和普通二級用戶之間的帳戶差異包括:

  • 工作配置文件與其父用戶相關聯,並在引導時由主用戶啟動。

  • 工作配置文件的通知由ActivityManagerService啟用,允許工作配置文件與主要用戶共享活動堆棧。

  • 其他共享系統服務包括 IME、A11Y 服務、Wi-Fi 和 NFC。

  • 啟動器 API 使啟動器能夠在主要配置文件中的應用旁邊顯示工作配置文件中的標記應用程序和白名單小部件,而無需切換用戶。

設備管理

Android 企業設備管理包括以下所有者:

  • 個人資料所有者。專為個人設備和個人啟用的工作設備環境而設計。
  • 設備所有者。專為沒有任何個人數據環境的公司擁有的設備而設計。

一些設備管理 API 用於消費者(例如,查找我的設備 API),而其他 API 僅對配置文件或設備所有者可用。

個人資料所有者

Device Policy Client (DPC) 應用程序充當配置文件所有者,通常由 Google Apps Device Policy 等企業移動管理 (EMM) 合作夥伴提供。配置文件所有者應用通過發送ACTION_PROVISION_MANAGED_PROFILE意圖在設備上創建工作配置文件。工作資料帶有標記的應用程序實例,這些應用程序實例在視覺上與個人應用程序實例不同;徽章將應用標識為工作應用。 EMM 只能控制工作資料,而不是個人空間(有一些例外,例如強制鎖定屏幕)。

設備所有者

只能在未配置的設備上設置設備所有者,因為必須在初始設備設置期間配置所有者。快速設置必須始終顯示披露。設備所有者可以執行配置文件所有者無法執行的一些任務,例如:

  • 擦除設備數據。
  • 禁用 Wi-Fi 或藍牙。
  • 設置setGlobalSetting的值。
  • 設置setLockTaskPackages的值,這是將可以將自己固定到前台的包列入白名單的能力。
  • 設置DISALLOW_MOUNT_PHYSICAL_MEDIA的值,默認為FALSE ;設置為TRUE時,無法安裝便攜式和可採用的物理媒體)。

DevicePolicyManager API

Android 5.0 或更高版本提供了改進的DevicePolicyManager ,其 API 支持企業自有和自帶設備 (BYOD) 管理用例,包括限制應用程序、靜默安裝證書和控制跨配置文件共享意圖訪問。要開始使用,請使用示例設備策略客戶端 (DPC) 應用BasicManagedProfile.apk 。有關詳細信息,請參閱構建設備策略控制器

工作資料用戶體驗

Android 9 或更高版本在工作資料和 Android 平台之間建立了更緊密的集成,使用戶可以更輕鬆地將他們的工作和個人信息在他們的設備上分開。工作資料更改顯示在啟動器中,並在受管設備上提供一致的用戶體驗。

帶有應用托盤的設備

在 Android 9 或更高版本中,Launcher3 的工作配置文件 UX 更改可幫助用戶維護單獨的個人配置文件和工作配置文件。應用程序抽屜提供了一個選項卡式視圖來區分個人資料應用程序。當用戶第一次查看工作資料選項卡時,他們會看到一個教育視圖,以幫助他們瀏覽工作資料。他們還可以使用啟動器工作選項卡中的切換開關來打開或關閉工作配置文件。

選項卡式配置文件視圖

在 Android 9 或更高版本中,用戶可以通過工作配置文件在應用抽屜中的個人應用列表和託管應用列表之間切換。應用程序視圖分為兩個不同的RecyclerViews ,由ViewPager管理。用戶可以使用應用抽屜頂部的配置文件選項卡在不同的配置文件視圖之間切換,如下圖所示:


圖 1.個人選項卡視圖

圖 2.工作選項卡視圖,工作配置文件切換

選項卡式視圖作為AllAppsContainerView Launcher3 類的一部分實現。有關選項卡式配置文件指示器的參考實現,請參閱PersonalWorkSlidingTabStrip類。

教育觀

Android 9 或更高版本支持教育視圖,可告知用戶工作選項卡的用途以及如何使工作應用程序更易於訪問。使用 Launcher3,您可以在用戶首次打開工作選項卡時,在工作選項卡屏幕底部呈現一個教育視圖,如下所示:

教育觀

圖 3.教育視圖

教育視圖由BottomUserEducationView類定義,其佈局由work_tab_tottom_user_education_view.xml控制。在BottomUserEducationView中, KEY_SHOWED_BOTTOM_USER_EDUCATION布爾值默認設置為false 。當用戶關閉教育視圖時,布爾值設置為true

切換以啟用或禁用工作資料

在 Android 9 或更高版本中,受管設備管理員可以在工作選項卡頁腳中顯示一個開關,供用戶啟用或禁用工作資料。啟用和禁用工作配置文件是異步完成的,並應用於所有有效的用戶配置文件;此過程由WorkModeSwitch類控制。對於切換源,請參閱WorkFooterContainer

沒有應用托盤的設備

對於沒有應用程序托盤的啟動器,請繼續在工作文件夾中放置工作配置文件應用程序的快捷方式。如果工作文件夾未正確填充並且新安裝的應用程序未添加到文件夾中,請在ManagedProfileHeuristic類的onAllAppsLoaded方法中應用以下更改:

for (LauncherActivityInfo app : apps) {
        // Queue all items which should go in the work folder.
        if (app.getFirstInstallTime() < Long.MAX\_VALUE) {
                InstallShortcutReceiver.queueActivityInfo(app, context);
        }
}

驗證用戶體驗更改

要使用 TestDPC 應用測試工作資料 UX 實施:

  1. 在設備上,從 Google Play 商店安裝TestDPC應用程序。

  2. 打開啟動器或應用程序抽屜並選擇設置 TestDPC

  3. 按照屏幕上的說明設置工作資料。


    圖 4.設置工作資料


    圖 5.添加帳戶


    圖 6.設置完成

  4. 打開啟動器或應用程序抽屜並驗證工作選項卡是否存在並包含工作資料頁腳。

  5. 通過確認工作配置文件已按預期啟用和禁用,驗證您是否可以打開和關閉工作配置文件。下圖顯示了啟用和禁用的工作配置文件的示例:


    圖 7.開啟,啟用工作配置文件

    圖 8.關閉,禁用工作資料

工作資料應用徽章

在 Android 9 或更高版本中,出於可訪問性原因,工作徽章的顏色為藍色 (#1A73E8) 而不是橙色。