أدوار Android

الدور هو اسم فريد داخل النظام مرتبط بأذونات وامتيازات معيّنة. يمكن للتطبيقات طلب الحصول على أدوار معيّنة من خلال Android API، وتحديدًا من خلال استدعاء الطرق في فئة RoleManager.

اطّلِع على القائمة التالية للأدوار المتاحة ومتطلباتها المقابلة:

الدور المتطلبات
ASSISTANT أحد العناصر التالية على الأقل:
  • يحتوي التطبيق على نشاط يؤدي إجراءات المساعدة، استنادًا إلى المعلومات حول سياق المستخدم عندما طلب المساعدة (على سبيل المثال، اسم حزمة التطبيق الحالي الذي يعمل في المقدّمة ومعلوماته السياقية).
  • يحتوي التطبيق على خدمة تفاعل صوتي دائمة يتم الوصول إليها من خلال إذن android.permission.BIND_VOICE_INTERACTION، ويمكن لهذه الخدمة التعرّف على الصوت واستضافة جلسات تفاعل صوتي نشط. بالإضافة إلى ذلك، يتضمّن التطبيق علامة صريحة تشير إلى أنّ الخدمة قادرة على معالجة إجراء المساعدة.
BROWSER كلّ من:
  • يحتوي التطبيق على نشاط يمكن للتطبيقات تنفيذه من خلال طلبات http:// الضمنية التي تعرِض صفحة ويب تتوافق مع عنوان http:// معيّن.
  • يجب أن يعالج التطبيق التنقّل بين الروابط. وهذا يعني أنّه إذا كان المستخدِم يعرض صفحة ويب ونقر على عنوان http:// في النص، يجب أن يتمكّن التطبيق من عرض المحتوى المرتبط بالرابط المحدّد بدون تدخل إضافي من المستخدِم.
  • يجب أن يكون بإمكان التطبيق تقديم معلومات عن الموقع الجغرافي الحالي للجهاز إلى صفحات الويب عند طلب ذلك والحصول على موافقة العميل على الطلب.
DIALER كلّ من:
  • يحتوي التطبيق على نشاط يمكن للتطبيقات تشغيله من خلال طلبات البث التلقائي التي توفّر واجهة المستخدم أثناء المكالمة عندما يكون الجهاز في مكالمة.
  • يمكن للتطبيق معالجة بيانات طلبات المكالمات الواردة وعرض المعلومات ذات الصلة بالمكالمة (مثل رقم هاتف المتصل) على المستخدم والسماح له بالرد على المكالمة أو رفضها.
  • يقدّم التطبيق للمستخدم وسيلة لبدء المكالمات والاطّلاع على سجلّ المكالمات على جهازه.
SMS كلّ من:
  • أن يستوفي التطبيق جميع متطلبات تطبيقات الرسائل القصيرة
  • يحتوي التطبيق على نشاط يمكن للتطبيقات تنفيذه من خلال طلبات القصد الضمني ، والتي يمكنها إرسال رسالة إلى رقم هاتف.
  • يحتوي التطبيق على خدمة محظورة من خلال إذن android.permission.SEND_RESPOND_VIA_MESSAGE ويمكن بدءها من خلال النوايا الضمنية، والتي يمكنها إرسال الرسائل الواردة من تطبيق "الهاتف" عندما يختار المستخدم الردّ من خلال رسالة أثناء مكالمة واردة. يمكن للتطبيق إرسال الرسائل من خلال نظام المراسلة الخاص به.
  • يحتوي التطبيق على جهازَي استقبال للبث، أحدهما محظور من خلال إذن android.permission.BROADCAST_SMS والآخر محظور من خلال إذن android.permission.BROADCAST_WAP_PUSH، ويمكنه الاستماع إلى الرسائل القصيرة النصية ورسائل الوسائط المتعددة المُرسَلة إلى الجهاز، على التوالي. بعد ذلك، يتحمّل التطبيق مسؤولية كتابة الرسائل وإرسالها إلى مقدّم خدمة الرسائل القصيرة وإرسال إشعارات إلى المستخدمين.
EMERGENCY كلّ من:
  • التطبيق هو تطبيق نظام .
  • يتضمّن التطبيق نشاطًا يعرض معلومات الطوارئ الخاصة بالمستخدم. يمكن لأي مستخدم الانتقال إلى هذه الشاشة من خلال زر "الطوارئ" في نشاط "برنامج اتصال الطوارئ".
HOME يحتوي التطبيق على نشاط يمكنه تشغيل الشاشة الرئيسية عندما يضغط المستخدم زر الشاشة الرئيسية. يجب أن تعرض الشاشة الرئيسية رموز التطبيقات والتطبيقات المصغّرة وأن تتيح التنقّل باستخدام الأزرار أو الإيماءات (على سبيل المثال، التمرير سريعًا للأعلى للاطّلاع على كل التطبيقات).
CALL_REDIRECTION يحتوي التطبيق على خدمة يُشترط الحصول على إذن android.permission.BIND_CALL_REDIRECTION_SERVICE للوصول إليها، ويمكن لإطار عمل الاتصالات اللاسلكية الربط بها. تتلقّى الخدمة رقم الهاتف الصادر من إطار عمل الاتصالات وتعمل على تنفيذ أحد الإجراءَين التاليَين:
  • السماح بإجراء المكالمة كما هي
  • تغيير الرقم الصادر لتوجيهه من خلال رقم وكيل
  • ألغِ المكالمة.
CALL_SCREENING يحتوي التطبيق على خدمة يُشترط الحصول على الإذن android.permission.BIND_SCREENING_SERVICE لاستخدامها، وتؤدي هذه الخدمة وظيفتَين:
  • حظر المكالمات وفحصها: يمكن للخدمة اختيار المكالمات التي يجب إرسالها إلى تطبيق الاتصال على الهاتف (وربما يتم تشغيل نغمة رنين لها، استنادًا إلى وضع "عدم الإزعاج" أو مستوى الصوت)، والمكالمات التي يجب إرسالها بصمت إلى البريد الصوتي.
  • تحديد المكالمات: يمكن للخدمة تحديد معلومات عن المكالمة وعرضها من خلال واجهة مستخدم.
SYSTEM_GALLERY كلّ من:
  • التطبيق هو تطبيق نظام .
  • يمكن فقط لمصنّعي الأجهزة الأصليين منح هذا الدور للتطبيق.
  • يقدّم التطبيق واجهة مستخدم تتيح للمستخدمين تخزين الفيديوهات والصور وتنظيمها وعرضها.
SYSTEM_AUTOMOTIVE_CLUSTER كلّ من:
  • التطبيق هو تطبيق نظام على Automotive.
  • يمكن فقط لمصنّعي الأجهزة الأصليين منح هذا الدور للتطبيق.
  • يقدّم التطبيق إمكانيات لعرض مجموعة أجهزة السيارة (عادةً بجانب عجلة القيادة) للمستخدمين للردّ على المكالمات الهاتفية والوصول إلى قوائم جهات الاتصال وسجلّات المكالمات.
COMPANION_DEVICE_WATCH يمكن للتطبيق إرسال طلبات لربط جهاز ساعة وإدارته (باستخدام واجهة برمجة التطبيقات التي تقدّمها فئة CompanionDeviceManager). عند ربط الساعة بالتطبيق من خلال واجهة المستخدم التي يوفّرها التطبيق، يمكن للمستخدمين إدارة ساعتهم من التطبيق، بما في ذلك مزامنة جهات الاتصال والتقويم، وإدارة الإشعارات والمكالمات الهاتفية.
SYSTEM_AUTOMOTIVE_PROJECTION كلّ من:
  • التطبيق هو تطبيق نظام .
  • يمكن فقط لمصنّعي الأجهزة الأصليين منح هذا الدور للتطبيق.
  • يتيح التطبيق عرض شاشة الهاتف على شاشة السيارة. يتيح هذا النظام للسائقين الوصول إلى التطبيقات على هواتف Android والتحكّم فيها، بما في ذلك الموسيقى والتنقّل والمكالمات الهاتفية والبحث، باستخدام آليات الإدخال في المركبة، بما في ذلك عناصر التحكّم باللمس وعجلة القيادة والطلبات الصوتية.
SYSTEM_SHELL كلّ من:
  • التطبيق هو تطبيق نظام تم تخصيص رقم تعريف مستخدم له هو Process.SHELL_UID.
  • يمكن فقط لمصنّعي الأجهزة الأصليين منح هذا الدور للتطبيق.
  • يقدّم التطبيق واجهة تعمل على مستوى سطر الأوامر حتى يتمكّن المستخدمون من التفاعل مع نظام التشغيل Android. على سبيل المثال، عرض محتويات مجلد أو تشغيل تطبيقات يمكن للتطبيقات تنفيذ أوامر Shell آليًا (بعد منح الأذونات اللازمة لها) أو من خلال أداة ADB.
SYSTEM_CONTACTS كلّ من:
  • التطبيق هو تطبيق نظام .
  • يمكن فقط لمصنّعي الأجهزة الأصليين منح هذا الدور للتطبيق.
  • يقدّم التطبيق واجهة مستخدم تتيح للمستخدمين إدارة جهات الاتصال (على سبيل المثال، عرض جهة اتصال أو مشاركتها أو إضافتها أو إزالتها أو البحث عنها). يعدّل التطبيق مقدّم جهات الاتصال عندما يعدّل المستخدم جهات الاتصال من التطبيق. يمكن للمستخدمين أيضًا الاتصال بجهات الاتصال أو إرسال رسائل إلكترونية أو رسائل نصية إليها من التطبيق.
SYSTEM_SPEECH_RECOGNIZER كلّ من:
  • التطبيق هو تطبيق نظام .
  • يمكن فقط لمصنّعي الأجهزة الأصليين منح هذا الدور للتطبيق.
  • يقدّم التطبيق خدمة يمكنها تنفيذ ميزة التعرّف على الكلام.
  • عندما يتلقّى التطبيق بيانات مباشرة من الميكروفون من تطبيق آخر بهدف التعرّف على الكلام، يُنسب استخدام الميكروفون بشكل صحيح إلى تطبيق الاتصال ويُعدّل إحصاءات تشغيل التطبيق وفقًا لذلك.
SYSTEM_WIFI_COEX_MANAGER كلّ من:
  • التطبيق هو تطبيق نظام .
  • يمكن فقط لمصنّعي الأجهزة الأصليين منح هذا الدور للتطبيق.
  • يتضمّن التطبيق خدمة تحدِّد بشكل ديناميكي قائمة بقنوات Wi-Fi التي يجب أن يتجنب الجهاز استخدامها بسبب التداخل مع شبكة الجوّال.
SYSTEM_WELLBEING كلّ من:
  • التطبيق هو تطبيق نظام .
  • يمكن فقط لمصنّعي الأجهزة الأصليين منح هذا الدور للتطبيق.
  • يجب أن يقدّم التطبيق للمستخدمين إمكانية الحدّ من التشتيت وأن يقدّم لهم إحصاءات عن كيفية استخدامهم لأجهزتهم (مثل وقت النظر إلى الشاشة في الأسبوع).
SYSTEM_TELEVISION_NOTIFICATION_HANDLER كلّ من:
  • التطبيق هو تطبيق نظام .
  • يمكن فقط لمصنّعي الأجهزة الأصليين منح هذا الدور للتطبيق.
  • يجب أن يعرض التطبيق إشعارات فورية للمستخدمين على أجهزة التلفزيون. يجب أن يعرض التطبيق أيضًا الإشعارات النشطة الحالية عند إرسال android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL الطلب (من SystemUI).
SYSTEM_COMPANION_DEVICE_PROVIDER كلّ من:
  • التطبيق هو تطبيق نظام .
  • يمكن فقط لمصنّعي الأجهزة الأصليين منح هذا الدور للتطبيق.
  • يجب أن يتمكّن التطبيق من رصد الأجهزة الملحقة في محيطه. يجب أن يحتوي التطبيق على واجهة مستخدم يمكن للمستخدم من خلالها تأكيد أنّه يجب ربط جهاز ملحِق معيّن بتطبيق وإدارته من خلاله. وعندما يؤكّد المستخدم ذلك، منح المحتوى المُدار الإذن للتطبيق المرتبط بالوصول إلى الجهاز الملحق (على سبيل المثال، اسمه وعنوانه وفئة وحالة الربط به) ويمكنه بدء عملية الربط.
SYSTEM_DOCUMENT_MANAGER كلّ من:
SYSTEM_ACTIVITY_RECOGNIZER كلّ من:
  • التطبيق هو تطبيق نظام .
  • يحتوي التطبيق على خدمة مفروض عليها قيود تتعلّق بـ android.permission.ACTIVITY_RECOGNITION، ويمكن أن تؤدي إلى التعرّف على النشاط (مثل الركض أو ركوب الدراجة).
SYSTEM_UI كلّ من:
  • التطبيق هو تطبيق نظام .
  • يمكن فقط لمصنّعي الأجهزة الأصليين منح هذا الدور للتطبيق.
  • يحتوي التطبيق على واجهة للمستخدمين للتفاعل مع هواتفهم. على سبيل المثال، الشاشة الرئيسية للهاتف والتنقّل والتطبيقات الحديثة والإعدادات السريعة وشريط الإشعارات وقفل الشاشة وعناصر التحكّم في مستوى الصوت
SYSTEM_TELEVISION_REMOTE_SERVICE كلّ من:
  • التطبيق هو تطبيق نظام على Android TV.
  • يمكن فقط لمصنّعي الأجهزة الأصليين منح هذا الدور للتطبيق.
  • يحتوي التطبيق على خدمة يمكنها التواصل مع جهاز التحكّم عن بُعد بالتلفزيون (على سبيل المثال، عبر تقنية BLE) وتنفيذ الأحداث (على سبيل المثال، النقرات على الأزرار) وإرسال بيانات أخرى (على سبيل المثال، بث صوتي من ميكروفون مدمج في جهاز التحكّم عن بُعد) إلى المنصة.
SYSTEM_UI_INTELLIGENCE كلّ من:
  • أن تكون خدمة مثبّتة مسبقًا توفّر، من خلال واجهات برمجة التطبيقات الخاصة بالإطار العمل (واجهات برمجة التطبيقات العامة أو الخاصة بالنظام)، معالجًا ذكيًا على الجهاز لميزات واجهة مستخدم النظام (على سبيل المثال، توقّع التطبيقات التالية وعرضها للمستخدمين)
  • يجب أن تستوفي الخدمة جميع المتطلبات الموضّحة في قسم "سياسة التعامل مع البيانات" في Android 9.8.6 التقاط المحتوى.
  • لا يمكن أن تحصل الخدمة على الإذن android.permission.INTERNET. بدلاً من ذلك، يجب أن يصل إلى الإنترنت من خلال واجهات برمجة تطبيقات محدّدة جيدًا في مشروع مفتوح المصدر.
  • لا يمكن ربط الخدمة بالتطبيقات، باستثناء تطبيقات النظام التالية: بلوتوث وجهات الاتصال والوسائط والهاتف وSystemUI والمكونات التي توفّر واجهات برمجة التطبيقات الخاصة بالإنترنت. يجب إعداد كل عملية ربط مسموح بها بشكل صريح من خلال إعدادات <allow-association> في إعدادات النظام.
  • لا يمكن للخدمة مشاركة البيانات مع التطبيقات ما لم يتّخذ المستخدم إجراءً مباشرًا (على سبيل المثال، يضغط المستخدم على زرّ صراحةً في كل مرة تتم فيها مشاركة البيانات).
SYSTEM_AMBIENT_AUDIO_INTELLIGENCE كلّ من:
  • تتطابق مع شروط SYSTEM_UI_INTELLIGENCE، باستثناء أنّ الخدمة المثبَّتة مسبقًا توفّر معالجًا ذكيًا على الجهاز للصوت المحيط (على سبيل المثال، التعرّف على الأغاني التي يتم تشغيلها بالقرب من الجهاز).
SYSTEM_AUDIO_INTELLIGENCE كلّ من:
  • تتطابق مع شروط SYSTEM_UI_INTELLIGENCE، باستثناء أنّ الخدمة المُثبَّتة مسبقًا توفّر معالجًا ذكيًا للصوت على الجهاز (مثل عرض ترجمة وشرح للفيديوهات وملفات البودكاست والمكالمات الهاتفية والمكالمات عبر الفيديو والرسائل الصوتية).
SYSTEM_NOTIFICATION_INTELLIGENCE كلّ من:
  • تتطابق مع شروط SYSTEM_UI_INTELLIGENCE، باستثناء أنّ الخدمة المُثبَّتة مسبقًا توفّر معالجًا ذكيًا على الجهاز للإشعارات (على سبيل المثال، اقتراح الردود والإجراءات للإشعارات الواردة من الرسائل).
SYSTEM_TEXT_INTELLIGENCE كلّ من:
  • تتطابق مع شروط SYSTEM_UI_INTELLIGENCE، باستثناء أنّ الخدمة المثبَّتة مسبقًا توفّر معالجًا ذكيًا للنص على الجهاز (مثل توفير ميزة الترجمة المباشرة أو الملء التلقائي).
SYSTEM_VISUAL_INTELLIGENCE كلّ من:
  • تتطابق مع شروط SYSTEM_UI_INTELLIGENCE، باستثناء أنّ الخدمة المُثبَّتة مسبقًا توفّر معالجًا ذكيًا على الجهاز للميزات المرئية التي تتضمّن تحليل بيانات الكاميرا. على سبيل المثال، إبقاء شاشة الهاتف مفعَّلة عندما ينظر إليها المستخدم أو تحديد الوضع المثالي للشاشة استنادًا إلى وضع وجه المستخدم من الكاميرا الأمامية على الجهاز
COMPANION_DEVICE_APP_STREAMING كلّ من:
  • التطبيق هو تطبيق نظام .
  • يمكن فقط لمصنّعي الأجهزة الأصليين منح هذا الدور للتطبيق.
  • بدءًا من الإصدار 15 من Android
    عند إجراء عملية الربط الأولي من الجهاز "أ" إلى الجهاز "ب":
    يجب أن يتضمّن كلا الجهازَين حسابًا مطابقًا واحدًا على الأقل في "AccountManager"، ويجب تأكيد عملية الربط باستخدام رمز صالح لمرة واحدة.
    • على المستخدم تأكيد كلمة مرور الحساب على الجهاز الثانوي البعيد عند إقران الأجهزة، أو
    • يجب عرض الرمز المُستخدَم لمرة واحدة على الجهاز المصدر وإدخاله على الجهاز المتصل.
    • لا حاجة إلى نطاق أثناء البث.

    أو يجب أن يكون الجهاز "أ" والجهاز "ب" ضمن نطاق البلوتوث من بعضهما البعض، ويجب تفعيل البث باستخدام رمز صالح لمرة واحدة.
    • يظهر الرمز المخصّص لمرة واحدة على الجهاز المصدر ويتم إدخاله على الجهاز المرتبط.
    • يجب أن تظل الأجهزة ضمن نطاق البلوتوث الخاص بالآخر أثناء البث.
  • يمكن للتطبيق إنشاء قنوات تواصل وإدارتها مع الأجهزة المقترنة حتى تتمكّن من تبادل البيانات. يجب أن يُثبِت التطبيق والأجهزة المتصلة هويتهما لبعضهما البعض بنجاح (على سبيل المثال، من خلال إثبات معرفتهما بالمفاتيح المشترَكة) لإنشاء قنوات الاتصال هذه. يجب أن تكون قنوات الاتّصال محمية بتشفير.
  • يمكن للتطبيق إرسال إشعارات من الجهاز المضيف إلى الجهاز المتصل للسماح للمستخدم باتخاذ إجراء بشأن الإشعارات على الجهاز المتصل.
  • أن يكون بإمكانه بث البيانات الوصفية اللازمة لبث التطبيقات إلى الجهاز المتصل، مثل قائمة التطبيقات المتاحة على الجهاز المحلي
  • أن يكون بإمكانه بث التطبيقات من الجهاز المرتبط إلى الجهاز المحلي بعد أن يشير المستخدم إلى تفضيله لإجراء ذلك بموافقة صريحة (إما على الهاتف أو على الجهاز المرتبط)
  • أن يكون بإمكانك إعادة تشغيل (إدراج) الأحداث التي تحدث في تطبيق يتم بثّه على جهاز متصل على الجهاز المحلي على سبيل المثال، تشغيل حدث لمس على الجهاز اللوحي بالطريقة نفسها على الهاتف
  • يمكن للتطبيق استبدال بث الميكروفون على الجهاز المحلي ببث الميكروفون على الجهاز المتصل أثناء استخدام أحد التطبيقات المعروضة على البث المباشر للميكروفون.
  • يُسجِّل التطبيق الصوت من الجهاز ويبثّه إلى الجهاز المتصل.
  • يجب حظر بث كاميرا الجهاز أثناء استخدام تطبيق مُذاع للكاميرا.
  • يجب التحقّق من سلامة إصدار نظام التشغيل للجهاز المتصل (على سبيل المثال، باستخدام عملية إثبات صحة الجهاز كما هو موضّح في VerifiedBootState).
  • بث التطبيقات التي تتضمّن حسابًا مطابقًا واحدًا فقط في سجلّ الحسابات على الجهاز (مثل فئة AccountManager على Android) على كلا الجهازين إذا لم يكن الأمر كذلك، يجب تفويض البث باستخدام رمز صالح لمرة واحدة يظهر على الجهاز المصدر ويتم إدخاله على الجهاز المتصل. يُرجى العلم أنّه في حالة الأجهزة التي تتيح استخدام حسابات متعدّدة للمستخدمين (وليس حسابات متعدّدة) مع عزل البيانات الموثوق به نفسه كما هو الحال في ميزة "تعدُّد المستخدمين على Android"، يتم احتساب المستخدِم كجهاز.
  • يجب إيقاف البث وقطع الاتصال بالجهاز المتصل على الفور في حال انتهاء صلاحية مصادقة الحساب على الجهاز المتصل أو إبطالها.
  • يجب إلغاء ربط جلسات بث التطبيقات الجارية إذا لم يتفاعل المستخدم مع الجهاز المتصل (على سبيل المثال، إذا كانت لوحة المفاتيح والشاشة التي تعمل باللمس والماوس غير نشطة) لمدة 5 دقائق. تُستثنى التطبيقات التي تبث الفيديوهات من هذا الشرط.
  • بدءًا من الإصدار 15 من نظام التشغيل Android
    يجب فصل جميع الأجهزة الافتراضية عند انتهاء مهلة الخمول للجهاز العميق الذي يظهر عليه محتوى الشاشة. قد تبقى شاشة الجهاز البعيد مضاءة في حالات مثل WakeLock التي تحافظ على إضاءة شاشة جهاز Android. يجب أن يكون هناك مهلة وقت انتظار في حالة عدم النشاط. إذا لم يكن جهاز التحكّم عن بُعد لديه مهلة وقت الاستراحة بحد ذاتها، يجب استخدام مهلة وقت استراحة تبلغ 5 دقائق كحد أقصى.
  • إذا كان الجهاز المصدر يستخدم عامل معلومات قفل الشاشة (LSKF)، يجب ألا يبث التطبيق التطبيقات إلى جهاز متصل عندما تكون الشاشة مقفلة، ما لم يكن هذا الجهاز مزوّدًا بقفل شاشة ومفتوحًا.
  • إذا كان المشرف يدير الجهاز، يجب أن يلتزم التطبيق بالسياسات التي يضبطها المشرف بشأن تفعيل أو إيقاف بث التطبيقات إلى الأجهزة المجاورة (على سبيل المثال، باستخدام إعدادات DevicePolicyManager في Android).
  • يجب التأكّد من أنّ الشاشة البعيدة وجميع مصادر أحداث الإدخال عن بُعد تنتمي إلى الجهاز المنطقي نفسه (على سبيل المثال، شاشة عن بُعد ولوحة مفاتيح متصلة) من منظور المستخدم ويتم توجيه الأحداث وفقًا لذلك.
  • يجب أن يتمكّن المستخدم من إنهاء البث من الجهاز المحلي، على سبيل المثال، باستخدام زر في إشعار دائم. يتم حظر هذا السلوك من خلال شاشة القفل، إذا كان الهاتف مزوّدًا بقفل شاشة. بدءًا من Android 15، يجب أن يعرض هذا الخيار الدائم على الجهاز المحلي والذي يكون مرئيًا دائمًا وفوق المحتوى المرئي على الشاشة.
  • يجب أن يعرض الجهاز المصدر رمزًا يشير إلى إمكانية البث على جهاز آخر، مثل رمز في شريط الحالة أو إشعار دائم.
DEVICE_POLICY_MANAGEMENT كلّ من:
  • يمكن فقط للمصنعين الأصليين للأجهزة منح هذا الدور للتطبيق. ولا يمكن للتطبيقات طلب هذا الدور لأنّه من المفترض أن يتم منحه تلقائيًا لاسم الحزمة الذي حدّده المصنّع الأصلي للجهاز عند شحن الجهاز.
  • يجب أن يكون التطبيق قادرًا على توفير ملف شخصي مُدار (مالك الملف الشخصي) أو جهاز مُدار (مالك الجهاز)، بما في ذلك تنزيل وتركيب برنامج Device Policy Client المناسب ليكون مالك الجهاز/الملف الشخصي إذا لزم الأمر.
  • يمكن للتطبيق اختياريًا تعديل الموارد ديناميكيًا، مثل السلاسل والعناصر القابلة للرسم المستخدَمة لإدارة سياسة الجهاز.
  • يمكن أن يكون التطبيق تطبيقًا مُثبَّتًا مسبقًا على النظام أو يتم تنزيله وتثبيته قبل توفيره.
  • في حالات إدارة حسابات مالك الملف الشخصي، عند تثبيت تطبيق صاحب الدور على مستخدم Android معيّن، يجب تثبيته على جميع الملفات الشخصية السارية لهذا المستخدم.
SYSTEM_APP_PROTECTION_SERVICE كلّ من:
  • التطبيق هو تطبيق نظام .
  • الغرض الوحيد من التطبيق هو رصد التطبيقات المشتبه بأنّها ضارة (التطبيقات التي قد تعرِّض المستخدمين أو بياناتهم أو أجهزتهم للخطر، مثل برامج الخداع والتصيّد الاحتيالي وبرامج التجسّس) أو البرامج غير المرغوب فيها على الأجهزة الجوّالة.
  • يجب أن يستوفي التطبيق جميع المتطلبات الموضّحة في قسم 9.8.6 من "سياسة تطوير البرامج" (CDD) لنظام التشغيل Android. البيانات على مستوى نظام التشغيل والبيانات المحيطة
  • يجب ألا يعلن التطبيق عن الإذن android.permission.INTERNET العادي. بدلاً من ذلك، يجب أن يصل التطبيق إلى الإنترنت من خلال واجهات برمجة تطبيقات محدّدة جيدًا في مشروع مفتوح المصدر.
  • يجب ألّا يرتبط التطبيق بالتطبيقات، باستثناء تطبيقات النظام التالية: Permission Controller والمكونات التي توفّر واجهات برمجة تطبيقات للهاتف والإنترنت يجب إعداد كل عملية ربط مسموح بها بشكل صريح من خلال إعدادات <allow-association> في ملف تكوين نظام التشغيل.
  • يجب ألا يشارك التطبيق البيانات مع التطبيقات ما لم يتّخذ المستخدم إجراءً مباشرًا (على سبيل المثال، يضغط المستخدم على زرّ صراحةً في كل مرة تتم فيها المشاركة).
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER كلّ من:
  • التطبيق هو تطبيق نظام .
  • يمكن فقط لمصنّعي الأجهزة الأصليين منح هذا الدور للتطبيق.
  • يجب أن ينقل التطبيق بيانات التقويم من هاتف iOS أو Android الخاص بالمستخدم إلى جهاز Android Auto. يجب أن يخزِّن جهاز Android Auto بيانات التقويم هذه في مزوِّد التقويم.
  • يجب أن يقدّم التطبيق مكوّن واجهة مستخدم على الهاتف يمكن للمستخدم استخدامه للقيام بما يلي: تفعيل مزامنة التقويم واختيار التقاويم المطلوب مزامنتها يجب أن يقدّم التطبيق مكوّن واجهة مستخدم على الهاتف يمكن للمستخدم استخدامه لإيقاف مزامنة التقويم.
  • من المفترض أن يعمل التطبيق بدون اتصال بالإنترنت. على سبيل المثال، باستخدام اتصالات سلكية أو لاسلكية مباشرة
AUTOMOTIVE_NAVIGATION كلّ من:
  • يحتوي التطبيق على نشاط يمكن للتطبيقات تشغيله من خلال طلبات القصد الضمني التي تعرض الموقع الجغرافي الحالي للمستخدم والمناطق المحيطة به.
  • يحتوي التطبيق على نشاط يمكن للتطبيقات تنفيذه من خلال طلبات القصد الضمني ، ما يتيح للمستخدم الانتقال إلى موقع جغرافي محدّد.
  • يحتوي التطبيق على نشاط يتم تشغيله في مجموعة العدادات عندما يكون التطبيق هو موضع التركيز في التنقّل. يجب أن يعرض النشاط الموقع الجغرافي الحالي للمستخدم والمناطق المحيطة به، وأن يسمح له بالتنقّل إلى موقع جغرافي محدّد.
COMPANION_DEVICE_COMPUTER كلّ من:
  • التطبيق هو تطبيق نظام .
  • يمكن فقط لمصنّعي الأجهزة الأصليين منح هذا الدور للتطبيق.
  • السماح للمستخدمين بعرض الإشعارات والوصول إلى الصور والوسائط من الهاتف على جهاز كمبيوتر متصل
SYSTEM_SETTINGS_INTELLIGENCE أحد العناصر التالية على الأقل:
  • التطبيق هو تطبيق نظام .
  • يمكن فقط لمصنّعي الأجهزة الأصليين منح هذا الدور للتطبيق.
  • أن يكون لديه خدمة توفّر ميزات الذكاء لتطبيق "الإعدادات"، مثل الاقتراحات والبحث
NOTES كلّ من:
  • يحتوي التطبيق على نشاط يمكن للتطبيقات تشغيله من خلال طلبات ملفّات تعريف الارتباط الضمنية. يتيح النشاط للمستخدم إنشاء ملاحظة بغض النظر عمّا إذا كانت الشاشة مقفلة أم لا.
  • يجب أن يتيح التطبيق ذلك من خلال توفير نشاط يتضمّن فلتر أهداف لـ android.intent.action.CREATE_NOTE مع الفئة android.intent.category.DEFAULT. يجب أن يعالج النشاط أيضًا القيمة الإضافية للهدف android.intent.extra.USE_STYLUS_MODE بشكلٍ مناسب.
  • يجب أن يحتوي التطبيق على سمتَي البيان showWhenLocked وturnScreenOn اللتين تم ضبطهما على true.
COMPANION_DEVICE_GLASSES يمكن للتطبيق إرسال طلبات لربطه بجهاز نظارة وإدارة هذا الجهاز (باستخدام واجهة برمجة التطبيقات التي تقدّمها فئة CompanionDeviceManager ). عند ربط جهاز النظارات بالتطبيق باستخدام واجهة المستخدم التي يوفّرها إطار عمل إدارة الخدمات الجوّالة (CDM)، يمكن للمستخدمين إدارة جهاز النظارات من خلال منحهم إذن الوصول إلى جهات الاتصال، وإذن إدارة الإشعارات والمكالمات الهاتفية.
COMPANION_DEVICE_NEARBY_DEVICE_STREAMING كلّ من:
  • التطبيق هو تطبيق نظام .
  • يمكن فقط لمصنّعي الأجهزة الأصليين منح هذا الدور للتطبيق.
  • بدءًا من الإصدار 15 من Android
    عند إجراء عملية الربط الأولي من الجهاز "أ" إلى الجهاز "ب":
    يجب أن يتضمّن كلا الجهازَين حسابًا مطابقًا واحدًا على الأقل في "AccountManager"، ويجب تأكيد عملية الربط باستخدام رمز صالح لمرة واحدة.
    • على المستخدم تأكيد كلمة مرور الحساب على الجهاز الثانوي البعيد عند إقران الأجهزة، أو
    • يجب عرض الرمز المُستخدَم لمرة واحدة على الجهاز المصدر وإدخاله على الجهاز المتصل.
    • لا حاجة إلى نطاق أثناء البث.

    أو يجب أن يكون الجهاز "أ" والجهاز "ب" ضمن نطاق البلوتوث من بعضهما البعض، ويجب تفعيل البث باستخدام رمز صالح لمرة واحدة.
    • يظهر الرمز المخصّص لمرة واحدة على الجهاز المصدر ويتم إدخاله على الجهاز المرتبط.
    • يجب أن تظل الأجهزة ضمن نطاق البلوتوث الخاص بالآخر أثناء البث.
  • يمكن للتطبيق إنشاء قنوات تواصل وإدارتها مع الأجهزة المقترنة حتى تتمكّن الأجهزة من تبادل البيانات. يجب أن يُثبِت التطبيق والأجهزة المتصلَة هويتهما لبعضهما بنجاح (على سبيل المثال، من خلال إثبات معرفتهما بالمفاتيح المشترَكة) لإنشاء قنوات الاتصال هذه. يجب أن توفّر قنوات التواصل حماية التشفير التام بين الأطراف.
  • يمكن للتطبيق إرسال إشعارات من الجهاز المضيف إلى الجهاز المتصل للسماح للمستخدم باتخاذ إجراء بشأن الإشعارات على الجهاز المتصل.
  • أن يكون بإمكانه بث البيانات الوصفية اللازمة لبث التطبيقات إلى الجهاز المتصل، مثل قائمة التطبيقات المتاحة على الجهاز المحلي
  • أن يكون بإمكانه بث التطبيقات من الجهاز المرتبط إلى الجهاز المحلي بعد أن يشير المستخدم إلى تفضيله لإجراء ذلك بموافقة صريحة (إما على الهاتف أو على الجهاز المرتبط)
  • أن يكون بإمكانك إعادة تشغيل (إدراج) الأحداث التي تحدث في تطبيق يتم بثّه على جهاز متصل على الجهاز المحلي على سبيل المثال، يمكنك إعادة تشغيل حدث لمس على الجهاز اللوحي بالطريقة نفسها التي يتم بها تشغيله على الهاتف، أو إعادة تشغيل حدث إدخال حدث على جهاز النظارات باستخدام دلالات الإدخال نفسها المستخدَمة على الهاتف.
  • يمكن للتطبيق استبدال بث الميكروفون على الجهاز المحلي ببث الميكروفون على الجهاز المتصل أثناء استخدام أحد التطبيقات المعروضة على البث المباشر للميكروفون.
  • يُسجِّل التطبيق الصوت من الجهاز ويبثّه إلى الجهاز المتصل.
  • يجب التحقّق من سلامة إصدار نظام التشغيل للجهاز المتصل (على سبيل المثال، باستخدام عملية إثبات ملكية الجهاز كما هو موضّح في VerifiedBootState).
  • بث التطبيقات التي تتضمّن حسابًا مطابقًا واحدًا فقط في سجلّ الحسابات على الجهاز (مثل فئة AccountManager على Android) على كلا الجهازين إذا لم يكن الأمر كذلك، يجب تفويض البث باستخدام رمز صالح لمرة واحدة يظهر على الجهاز المصدر ويتم إدخاله على الجهاز المتصل. يُرجى العلم أنّه في حالة الأجهزة التي تتيح استخدام حسابات متعدّدة للمستخدمين (وليس حسابات متعدّدة) مع عزل البيانات الموثوق به نفسه كما هو الحال في ميزة "تعدُّد المستخدمين على Android"، يتم احتساب المستخدِم كجهاز.
  • يجب إيقاف البث وقطع الاتصال بالجهاز المتصل على الفور في حال انتهاء صلاحية مصادقة الحساب على الجهاز المتصل أو إبطالها.
  • إذا كان الجهاز المصدر يستخدم LSKF، يجب ألا يبث التطبيق التطبيقات إلى جهاز متصل عندما تكون الشاشة مقفلة، ما لم يكن هذا الجهاز مزوّدًا بشاشة قفل ومفتوحًا.
  • إذا كان المشرف يدير الجهاز، يجب أن يلتزم التطبيق بالسياسات التي يضبطها المشرف بشأن تفعيل ميزة البث أو إيقافها على الأجهزة المجاورة (على سبيل المثال، باستخدام إعدادات DevicePolicyManager في Android).
  • يجب التأكّد من أنّ الشاشة البعيدة وجميع مصادر أحداث الإدخال عن بُعد تنتمي إلى الجهاز المنطقي نفسه (على سبيل المثال، شاشة عن بُعد ولوحة مفاتيح متصلة) من منظور المستخدم ويتم توجيه الأحداث وفقًا لذلك.
  • يجب أن يتمكّن المستخدم من إنهاء البث من الجهاز المحلي، على سبيل المثال، باستخدام زر في إشعار دائم. يتم حظر هذا السلوك من خلال شاشة القفل، إذا كان الهاتف يحتوي على شاشة قفل تم ضبطها.
  • يجب أن يعرض الجهاز المصدر رمزًا يشير إلى إمكانية البث على جهاز آخر، مثل رمز في شريط الحالة أو إشعار دائم.
WALLET أحد الخيارَين التاليَين:
  • يحتوي التطبيق على خدمة NFC APDU تسجِّل بشكل ثابت معرّف AID واحدًا على الأقل في فئة PAYMENT.
  • ينفِّذ التطبيق مثيلًا من QuickAccessWalletService.