החל מ-Android 14, סוכני ניהול מדיניות מכשירים יכולים להגדיר מדיניות באמצעות ממשקי DevicePolicyManager API.
עקרונות כלליים
במקרים שבהם יותר מסוכן אחד לניהול מדיניות מכשירים אוכף מדיניות על משתמש:
- סוכני ניהול מדיניות במכשירים יכולים לשלוח שאילתות לגבי מדיניות נאכפת או מדיניות שנפתרה, לגבי כל מדיניות שהם יכולים להגדיר.
- כל הגדרה של מדיניות מפעילה קריאה חוזרת (
onPolicySetResult) שמציינת אם המדיניות הוגדרה בצורה נכונה או אם ההגדרה נכשלה בגלל סיבה מסוימת (כמו התנגשות בין מדיניות או כשל בחומרה). - אם הסטטוס של המדיניות ישתנה בהמשך, תקבלו קריאה חוזרת (callback) (
onPolicyChanged) שתציין אם המדיניות תואמת למה שהסוכן הגדיר. - רוב כללי המדיניות פועלים על בסיס הכלל המחמיר ביותר. המשמעות היא שהמדיניות המחמירה ביותר שנבחרה על ידי סוכן ניהול מדיניות המכשיר נאכפת.
Android מגרסה 14 (רמת API 34) ואילך
ב-Android 14 (רמת API 34) ומעלה, מכשירים שתואמים ל-Android צריכים להטמיע את מנגנון ההחלטה בנושא מדיניות כפי שמוגדר בטבלה הבאה, כדי לפתור קונפליקטים כשמדיניות מוגדרת על ידי יותר מסוכן אחד לניהול מדיניות מכשירים. מנגנוני הפתרון שמפורטים בטבלה הבאה (MostRecent, MostRestrictive, StringSetUnion ו-TopPriority) הם שמות של מחלקות של מנגנוני הפתרון שמוגדרים בפרויקט הקוד הפתוח של Android.
| DevicePolicyManager API | מנגנון הפתרון |
|---|---|
MostRecent: כשמספר אדמינים מגדירים מדיניות, המדיניות העדכנית ביותר היא זו שנאכפת. |
|
|
MostRestrictive: הגבלת המשתמש, אם אדמין כלשהו הגדיר אותה. |
StringSetUnion: הערך שמתקבל הוא איחוד של מדיניות שהוגדרה על ידי אדמין אחד או יותר (למדיניות שמיוצגת כקבוצה של מחרוזות). |
|
TopPriority: הפעולה מתבצעת לפי סדר העדיפויות הבא, מהגבוה לנמוך, שמוגדר לפי התפקיד של סוכן ניהול מדיניות המכשיר:
|