بدءًا من الإصدار 14 من نظام التشغيل Android، يمكن لعدة وكلاء لإدارة سياسات الأجهزة ضبط السياسات باستخدام واجهات برمجة التطبيقات DevicePolicyManager.
المبادئ العامة
في الحالات التي يفرض فيها أكثر من وكيل واحد لإدارة سياسات الأجهزة السياسات على المستخدم:
- يمكن لبرامج إدارة سياسات الأجهزة الاستعلام عن السياسة المفروضة أو التي تم حلّها لأي سياسة يمكنهم ضبطها.
- تؤدي كل سياسة يتم ضبطها إلى استدعاء (
onPolicySetResult) يشير إلى أنّه تم ضبط السياسة بشكل صحيح أو تعذّر ضبطها لسبب معيّن (مثل تعارض السياسات أو عطل في الأجهزة). - إذا تغيّرت الحالة التي تم حلّها لسياسة معيّنة لاحقًا، يتم تلقّي استدعاء (
onPolicyChanged) يشير إلى ما إذا كانت السياسة تتطابق مع ما ضبطه هذا الوكيل. - تعمل معظم السياسات على أساس الأولوية للأكثر صرامة. وهذا يعني أنّه يتم فرض السياسة الأكثر صرامة التي يختارها أي وكيل لإدارة سياسات الأجهزة.
Android 14 (المستوى 34 لواجهة برمجة التطبيقات) والإصدارات الأحدث
في الإصدار 14 من Android (المستوى 34 لواجهة برمجة التطبيقات) والإصدارات الأحدث،
يجب أن تستخدم الأجهزة المتوافقة مع Android آلية حلّ السياسات على النحو
المحدّد في الجدول التالي لحلّ التعارضات عندما يتم ضبط سياسة من قِبل أكثر
من وكيل واحد لإدارة سياسات الأجهزة. آليات الحلّ المُشار إليها في الجدول التالي (MostRecent وMostRestrictive وStringSetUnion وTopPriority) هي أسماء فئات آليات الحلّ المحدّدة في مشروع مفتوح المصدر لنظام Android.
توضّح السياسات التي تم تحديدها من خلال مثيلات PolicyIdentifier استراتيجية الحل بشكل فردي في مستندات مرجع واجهة برمجة التطبيقات.
| DevicePolicyManager API | آلية حلّ المشاكل |
|---|---|
MostRecent: يتم فرض أحدث سياسة عند ضبطها
من قِبل عدة مشرفين. |
|
|
MostRestrictive: يضبط قيود المستخدِم إذا كان أي مشرف قد ضبطها. |
StringSetUnion: يتم حلّها على أنّها اتحاد السياسات التي يحدّدها مشرف واحد أو أكثر (بالنسبة إلى السياسات الممثّلة كمجموعة من السلاسل). |
|
TopPriority: يتم حلّها بالترتيب التالي من الأكثر إلى الأقل أولوية، والذي يحدّده الدور الذي يشغله وكيل إدارة سياسات الجهاز:
|