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

ตั้งแต่ Android 14 เป็นต้นไป ตัวแทนการจัดการนโยบายด้านอุปกรณ์หลายราย สามารถตั้งค่านโยบายได้โดยใช้ DevicePolicyManager API

หลักการทั่วไป

ในกรณีที่ตัวจัดการนโยบายด้านอุปกรณ์มากกว่า 1 รายบังคับใช้นโยบายกับผู้ใช้รายเดียวกัน

  • ตัวแทนการจัดการนโยบายอุปกรณ์สามารถค้นหานโยบายที่บังคับใช้หรือแก้ไขแล้วสำหรับนโยบายใดก็ตามที่ตัวแทนตั้งค่าได้
  • การตั้งค่านโยบายทุกครั้งจะทำให้เกิดการเรียกกลับ (onPolicySetResult) ซึ่งจะระบุว่านโยบายได้รับการตั้งค่าอย่างถูกต้องหรือตั้งค่าไม่สำเร็จด้วยเหตุผลที่กำหนด (เช่น นโยบายขัดแย้งกันหรือฮาร์ดแวร์ล้มเหลว)
  • หากสถานะที่แก้ไขแล้วของนโยบายมีการเปลี่ยนแปลงในภายหลัง ระบบจะได้รับการเรียกกลับ (onPolicyChanged) ซึ่งจะระบุว่านโยบายตรงกับที่ตัวแทนตั้งค่าไว้หรือไม่
  • นโยบายส่วนใหญ่ทำงานโดยยึดตามหลักการ "เข้มงวดที่สุดเป็นผู้ชนะ" ซึ่งหมายความว่านโยบายที่เข้มงวดที่สุดซึ่งตัวแทนการจัดการนโยบายอุปกรณ์เลือกไว้จะได้รับการบังคับใช้

Android 14 (ระดับ API 34) ขึ้นไป

ใน Android 14 (API ระดับ 34) ขึ้นไป อุปกรณ์ที่เข้ากันได้กับ Android ต้องใช้กลไกการแก้ไขนโยบายตามที่กำหนดไว้ในตารางต่อไปนี้เพื่อแก้ไขความขัดแย้งเมื่อตัวแทนการจัดการนโยบายอุปกรณ์มากกว่า 1 รายตั้งค่านโยบาย กลไกการแก้ไขที่อ้างอิงในตารางต่อไปนี้ (MostRecent, MostRestrictive, StringSetUnion และ TopPriority) เป็นชื่อคลาสของกลไกการแก้ไขที่กำหนดไว้ใน โครงการโอเพนซอร์ส Android

นโยบายที่ระบุโดยอินสแตนซ์ PolicyIdentifier จะบันทึกกลยุทธ์การแก้ไข ของตนเองแยกกันในเอกสารอ้างอิง API

DevicePolicyManager API กลไกการแก้ไข
MostRecent: นโยบายล่าสุดจะได้รับการบังคับใช้เมื่อผู้ดูแลระบบหลายรายตั้งค่า
MostRestrictive: ตั้งค่าข้อจำกัดของผู้ใช้หากผู้ดูแลระบบรายใดรายหนึ่งตั้งค่าไว้
StringSetUnion: แก้ไขเป็นยูเนียนของนโยบายที่ตั้งค่าโดยผู้ดูแลระบบอย่างน้อย 1 ราย (สำหรับนโยบายที่แสดงเป็นชุดสตริง)
TopPriority: แก้ไขโดยมีลำดับความสำคัญจากมากไปน้อยต่อไปนี้ซึ่งกำหนดโดยบทบาทที่ตัวแทนการจัดการนโยบายด้านอุปกรณ์มี
  1. ผู้ดูแลระบบการล็อกอุปกรณ์
  2. ผู้ดูแลระบบขององค์กร
  3. ผู้ดูแลระบบรายอื่นๆ