กรอบการแก้ปัญหาเกี่ยวกับนโยบายด้านอุปกรณ์

ตั้งแต่ 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 การจัดการนโยบายอุปกรณ์มี
  1. ผู้ดูแลระบบการล็อกอุปกรณ์
  2. ผู้ดูแลระบบขององค์กร
  3. ผู้ดูแลระบบรายอื่นๆ