圖 1. 私人空間可解鎖及鎖定,以顯示或隱藏裝置上的敏感應用程式。
使用者可以在裝置上建立安全隔離的私人空間,防止他人窺探敏感應用程式。私人空間中的應用程式會顯示在啟動器的獨立容器中,且私人空間鎖定時,不會顯示在最近使用的應用程式檢視畫面、通知、設定和其他應用程式中。
沙箱空間是獨立的 Android 個人資料 使用者在私人空間中新增或安裝應用程式時,系統會將應用程式安裝在這個新的 Android 個人資料中。系統會將此視為全新安裝的應用程式,且不會將任何應用程式資料複製到私人空間。空間鎖定時,系統會停止私人設定檔使用者,空間解鎖時則會啟動使用者。
私人空間中的應用程式會以獨立副本的形式安裝,與主要空間中的應用程式分開。私人空間和主要空間會分別儲存使用者內容 (使用者原創或下載) 和使用者帳戶。您可以使用系統的 Sharesheet 和相片挑選工具,在私人空間解鎖時,授予應用程式存取各空間內容的權限。
私人空間是以 Android 多使用者模式為基礎,並新增下列設定檔和使用者類型:
- 個人資料:
- 私人
- 使用者類型:
android.os.usertype.profile.PRIVATE
設定和啟動器應用程式
您必須更新設定和啟動器應用程式,才能支援鎖定、解鎖和隱藏狀態。私人空間處於鎖定狀態時,啟動器會提供解鎖的進入點 (隱藏狀態除外)。私人空間鎖定時,「設定」應用程式不得揭露私人空間的存在。
使用 LauncherApps#getLauncherUserInfo
識別私人設定檔使用者。啟動器應用程式需要註冊鎖定狀態和解除鎖定狀態,並在收到這些廣播時,變更 UI 中私人空間的狀態。這兩項廣播都有一個額外的常數,稱為 EXTRA_USER,可用於參照私人設定檔使用者。
啟動器應用程式可以使用 UserManager.isQuietModeEnabled 方法檢查私人設定檔狀態。
私人個人資料
私人設定檔新增了新的設定檔類型 android.os.usertype.profile.PRIVATE,可用於私人空間。私人資料夾可以與工作資料夾和複製資料夾共存在同一部裝置上。這是與主要 Android 使用者分開的沙箱空間。私人空間解鎖後,應用程式就會顯示在設定、Sharesheet、相片挑選工具和文件 UI 中。私人空間鎖定時,這些介面不會顯示私人空間中的應用程式。
單一裝置只能有一個私人空間例項,且僅供主要使用者使用 (不適用於次要使用者或其他設定檔)。
權限
啟動器應用程式必須具備 android.permission.ACCESS_HIDDEN_PROFILES 權限和 android.app.role.RoleManager.ROLE_HOME 角色,才能存取私人設定檔。
如果實作項目未使用 AOSP 啟動器,則需要修改啟動器,才能支援私人設定檔。如要進一步瞭解如何開發具備私人空間的啟動器應用程式,請前往開發人員網站上的啟動器應用程式頁面。
意圖
電話意圖會轉送給主要使用者,並顯示通知。 其他意圖僅限私人設定檔,不會重新導向。
將檔案移到私人空間
自 Android 16 QPR2 起,使用者可以將私人空間外的檔案移動或複製到私人空間。這項功能提供安全又簡單的方式,讓使用者將機密文件、相片和其他檔案存放在沙箱化的私人設定檔中。
如要啟動這項程序,請使用私人空間啟動器容器中的「新增」按鈕,然後點選「新增檔案」捷徑。使用者選取這個選項後,就能使用系統檔案選擇器,瀏覽及選取私人空間外的檔案。選取檔案後,使用者可以選擇複製檔案 (原始檔案會保留在原處),或是移動檔案 (成功轉移後會刪除原始檔案)。
檔案傳輸作業由新的系統元件管理,該元件只會在私人設定檔中以前景服務的形式執行,確保傳輸過程安全無虞。檔案會儲存至私人空間的 Downloads 資料夾。