ตั้งแต่ Android 14 เป็นต้นไป Agent การจัดการนโยบายอุปกรณ์หลายรายการสามารถตั้งค่านโยบายได้โดยใช้
DevicePolicyManager
API
หลักการทั่วไป
ในกรณีที่ Agent การจัดการนโยบายอุปกรณ์มากกว่า 1 รายการบังคับใช้นโยบายกับผู้ใช้
- Agent การจัดการนโยบายอุปกรณ์สามารถค้นหานโยบายที่บังคับใช้หรือแก้ไขแล้วสำหรับนโยบายใดก็ตามที่ตั้งค่าได้
- การตั้งค่านโยบายทุกครั้งจะทำให้เกิดการเรียกกลับ (
onPolicySetResult) ซึ่งจะระบุว่านโยบายได้รับการตั้งค่าอย่างถูกต้องหรือตั้งค่าไม่สำเร็จด้วยเหตุผลที่กำหนด (เช่น นโยบายขัดแย้งกันหรือฮาร์ดแวร์ล้มเหลว) - หากสถานะที่แก้ไขแล้วของนโยบายมีการเปลี่ยนแปลงในภายหลัง ระบบจะได้รับการเรียกกลับ (
onPolicyChanged) ซึ่งจะระบุว่านโยบายตรงกับที่ Agent ตั้งค่าไว้หรือไม่ - นโยบายส่วนใหญ่ทำงานโดยยึดตามหลักการ "เข้มงวดที่สุดชนะ" ซึ่งหมายความว่าระบบจะบังคับใช้นโยบายที่เข้มงวดที่สุดซึ่ง Agent การจัดการนโยบายอุปกรณ์เลือกไว้
Android 14 (ระดับ API 34) ขึ้นไป
ใน Android 14 (API ระดับ 34) ขึ้นไป อุปกรณ์ที่เข้ากันได้กับ Android ต้องใช้กลไกการแก้ปัญหานโยบายตามที่กำหนดไว้ในตารางต่อไปนี้เพื่อแก้ปัญหาความขัดแย้งเมื่อ Agent การจัดการนโยบายอุปกรณ์มากกว่า 1 รายการตั้งค่านโยบาย กลไกการแก้ปัญหาที่อ้างอิงในตารางต่อไปนี้ (MostRecent, MostRestrictive, StringSetUnion และ TopPriority) เป็นชื่อคลาสของกลไกการแก้ปัญหาที่กำหนดไว้ใน Android Open Source Project
| DevicePolicyManager API | กลไกการแก้ปัญหา |
|---|---|
MostRecent: ระบบจะบังคับใช้นโยบายล่าสุดเมื่อผู้ดูแลระบบหลายรายตั้งค่า |
|
|
MostRestrictive: ตั้งค่าข้อจำกัดของผู้ใช้หากผู้ดูแลระบบรายใดรายหนึ่งตั้งค่าไว้ |
StringSetUnion: แก้ปัญหาเป็นยูเนียนของนโยบายที่ผู้ดูแลระบบอย่างน้อย 1 รายการตั้งค่าไว้ (สำหรับนโยบายที่แสดงเป็นชุดสตริง) |
|
TopPriority: แก้ปัญหาโดยเรียงลำดับความสำคัญจากมากไปน้อยต่อไปนี้ตามบทบาทที่ Agent การจัดการนโยบายอุปกรณ์มี
|