ตั้งแต่ 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: แก้ไขโดยมีลำดับความสำคัญจากมากไปน้อยต่อไปนี้ซึ่งกำหนดโดยบทบาทที่ตัวแทนการจัดการนโยบายด้านอุปกรณ์มี
|