إطار عمل حلّ مشاكل سياسات الجهاز

اعتبارًا من Android 14، يمكن لعدّة وكلاء لإدارة سياسات الأجهزة ضبط السياسات باستخدام واجهات برمجة التطبيقات DevicePolicyManager.

المبادئ العامة

في الحالات التي يفرض فيها أكثر من وكيل لإدارة سياسات الأجهزة السياسات على مستخدم:

  • يمكن لوكلاء إدارة سياسات الأجهزة طلب السياسة المفروضة أو التي تم حلّها لأي سياسة يمكنهم ضبطها.
  • يؤدي ضبط كل سياسة إلى ظهور معاودة اتصال (onPolicySetResult) تشير إلى ما إذا تم ضبط السياسة بشكل صحيح أو تعذّر ضبطها لسبب معيّن (مثل تعارض السياسات أو حدوث عطل في الأجهزة).
  • إذا تغيّرت الحالة التي تم حلّها لسياسة معيّنة لاحقًا، يتم تلقّي معاودة اتصال (onPolicyChanged) تشير إلى ما إذا كانت السياسة تتطابق مع ما ضبطه هذا الوكيل.
  • تعمل معظم السياسات على أساس "الفوز للأكثر صرامة". وهذا يعني أنّه يتم فرض السياسة الأكثر صرامة التي يختارها أي وكيل لإدارة سياسات الأجهزة.

‫Android 14 (المستوى 34 لواجهة برمجة التطبيقات) والإصدارات الأحدث

في Android 14 (المستوى 34 لواجهة برمجة التطبيقات) والإصدارات الأحدث، يجب أن تنفّذ الأجهزة المتوافقة مع Android آلية حلّ السياسات كما هو محدّد في الجدول التالي لحلّ التعارضات عند ضبط سياسة واحدة من قِبل أكثر من وكيل لإدارة سياسات الأجهزة. إنّ آليات الحلّ المُشار إليها في الجدول التالي (MostRecent وMostRestrictive وStringSetUnion وTopPriority) هي أسماء فئات آليات الحلّ المُحدّدة في مشروع مفتوح المصدر لنظام Android.

‫DevicePolicyManager API آلية حلّ المشكلة
MostRecent: يتم فرض السياسة الأحدث عند ضبطها من قِبل مشرفين متعدّدين.
MostRestrictive: يتم ضبط قيود المستخدم إذا ضبطها أي مشرف.
StringSetUnion: يتم حلّ المشكلة على أنّها اتحاد السياسات التي يضبطها مشرف واحد أو أكثر (بالنسبة إلى السياسات الممثّلة على أنّها مجموعة من السلاسل).
TopPriority: يتم حلّ المشكلة باستخدام ترتيب الأولوية التالي من الأعلى إلى الأدنى، كما هو محدّد حسب الدور الذي يملكه وكيل إدارة سياسات الأجهزة:
  1. مشرف قفل الجهاز
  2. مشرف المؤسسة
  3. أي مشرف آخر