自 Android 14 起,多個裝置政策管理代理程式可使用 DevicePolicyManager API 設定政策。
一般原則
如果有多個裝置政策管理代理程式對使用者強制執行政策:
- 裝置政策管理代理程式可以查詢任何可設定政策的強制執行或解析政策。
- 每項政策設定都會產生回呼 (
onPolicySetResult),指出政策設定正確,或因特定原因 (例如政策衝突或硬體故障) 而設定失敗。 - 如果政策的解析狀態日後有所變更,系統會收到回呼 (
onPolicyChanged),指出政策是否與該代理程式設定的政策相符。 - 大多數政策都以「最嚴格者勝出」為原則運作。也就是說,系統會強制執行任何裝置政策管理代理程式選擇的最嚴格政策。
Android 14 (API 級別 34) 以上版本
在 Android 14 (API 級別 34) 以上版本中,Android 相容裝置必須實作下表定義的政策解決機制,以便在多個裝置政策管理代理程式設定政策時解決衝突。下表參照的解析機制 (MostRecent、MostRestrictive、StringSetUnion 和 TopPriority) 是 Android 開放原始碼計畫中定義的解析機制類別名稱。
由 PolicyIdentifier 執行個體識別的政策,會在 API 參考文件中個別記錄其解析策略。
| DevicePolicyManager API | 解決機制 |
|---|---|
MostRecent:如果有多位管理員設定政策,系統會強制執行最新政策。 |
|
|
MostRestrictive:設定使用者限制 (如有管理員設定)。 |
StringSetUnion:解析為一或多位管理員設定的政策聯集 (適用於以字串集表示的政策)。 |
|
TopPriority:根據裝置政策管理代理程式所持有的角色,依下列優先順序 (由高至低) 解決問題:
|