أدوار Android

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

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

الدور المتطلبات
ASSISTANT أحد الخيارات التالية على الأقل:
  • يحتوي التطبيق على نشاط ينفّذ إجراءات مساعدة، وذلك استنادًا إلى معلومات حول سياق المستخدم عند طلبه المساعدة (على سبيل المثال، اسم الحزمة للتطبيق الحالي الذي يعمل في المقدّمة ومعلوماته السياقية).
  • يتضمّن التطبيق خدمة تفاعل صوتي تعمل دائمًا ومحمية بإذن android.permission.BIND_VOICE_INTERACTION، ويمكنها التعرّف على الصوت واستضافة جلسات تفاعل صوتي نشطة. بالإضافة إلى ذلك، يحتوي التطبيق على علامة صريحة تشير إلى أنّ الخدمة قادرة على معالجة إجراء المساعدة.
BROWSER كل ما يلي:
  • يحتوي التطبيق على نشاط يمكن للتطبيقات استدعاؤه من خلال طلبات الأهداف الضمنية، ويعرض صفحة ويب تتوافق مع عنوان http://.
  • يجب أن يتمكّن التطبيق من التعامل مع التنقّل بين الروابط. بمعنى آخر، إذا كان المستخدم يتصفّح صفحة ويب ونقر على عنوان http:// في النص، يجب أن يتمكّن التطبيق من عرض المحتوى المرتبط بالرابط المحدّد بدون أي تدخل إضافي من المستخدم.
  • يجب أن يكون التطبيق قادرًا على تقديم معلومات الموقع الجغرافي الحالي للجهاز إلى صفحات الويب عند طلبها وموافقة المستخدم على الطلب.
DIALER كل ما يلي:
  • يحتوي التطبيق على نشاط يمكن للتطبيقات استدعاؤه من خلال طلبات النية الضمنية، ما يوفّر واجهة مستخدم أثناء المكالمة عندما يكون الجهاز في مكالمة.
  • يمكن للتطبيق التعامل مع أغراض المكالمات الواردة وعرض المعلومات ذات الصلة بالمكالمة (مثل رقم هاتف المتصل) للمستخدم والسماح له بالرد على المكالمة أو رفضها.
  • يوفر التطبيق للمستخدم وسيلة لبدء المكالمات والاطّلاع على سجلّ المكالمات على جهازه.
SMS كل ما يلي:
  • يستوفي التطبيق جميع متطلبات تطبيقات الرسائل القصيرة.
  • يحتوي التطبيق على نشاط يمكن للتطبيقات استدعاؤه من خلال طلبات implicit intent، ما قد يؤدي إلى إرسال رسالة إلى رقم هاتف.
  • يحتوي التطبيق على خدمة محمية بإذن 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، وتنفّذ هذه الخدمة وظيفتَين:
  • حظر المكالمات وفحصها: يمكن للخدمة اختيار المكالمات التي يجب إرسالها إلى تطبيق "برنامج الاتصال" على الهاتف (وربما الرنين، إذا تم تفعيل ميزة "عدم الإزعاج" أو ضبط مستوى الصوت)، والمكالمات التي يجب إرسالها بصمت إلى البريد الصوتي.
  • تحديد هوية المتصل: يمكن للخدمة تحديد هوية المتصل وعرض معلومات عنه من خلال واجهة مستخدم.
SUPERVISION كل ما يلي:
  • التطبيق هو تطبيق نظام أو خدمة مثبَّتة مسبقًا.
  • يمكن لمصنّعي المعدات الأصلية فقط منح هذا الدور للتطبيق.
  • الغرض الوحيد من التطبيق هو السماح لأحد الوالدَين أو الوصي القانوني للمستخدم بإدارة الجهاز.
  • يجب أن يوفّر التطبيق عنصر واجهة مستخدم على الجهاز يمكن للمستخدم المفوّض استخدامه لإيقاف دور الإشراف.
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 كل ما يلي:
  • التطبيق هو تطبيق نظام.
  • يمكن لمصنّعي المعدات الأصلية فقط منح هذا الدور للتطبيق.
  • يحتوي التطبيق على نشاط يتيح للمستخدمين الوصول إلى المستندات الحالية وإنشاء مستندات جديدة على الجهاز.
  • يجب أن يستوفي التطبيق جميع المتطلبات الموضّحة في القسم 2.2.3. البرامج من مستند تعريف التوافق مع Android ضمن العنوان [3.2.3.1/H-0-1].
SYSTEM_ACTIVITY_RECOGNIZER كل ما يلي:
  • التطبيق هو تطبيق نظام.
  • يحتوي التطبيق على خدمة محمية بواسطة android.permission.ACTIVITY_RECOGNITION، ويمكنها التعرّف على الأنشطة (مثل الركض أو ركوب الدراجة).
SYSTEM_UI كل ما يلي:
  • التطبيق هو تطبيق نظام.
  • يمكن لمصنّعي المعدات الأصلية فقط منح هذا الدور للتطبيق.
  • يحتوي التطبيق على واجهة تتيح للمستخدمين التفاعل مع هواتفهم، مثل الشاشة الرئيسية للهاتف والتنقّل والتطبيقات الحديثة والإعدادات السريعة وشريط الإشعارات وشاشة القفل وعناصر التحكّم في مستوى الصوت.
SYSTEM_TELEVISION_REMOTE_SERVICE كل ما يلي:
  • التطبيق هو تطبيق نظام على Android TV.
  • يمكن لمصنّعي المعدات الأصلية فقط منح هذا الدور للتطبيق.
  • يحتوي التطبيق على خدمة يمكنها التواصل مع جهاز HID للتحكّم عن بُعد في التلفزيون (على سبيل المثال، عبر البلوتوث المنخفض الطاقة)، وإدخال الأحداث (على سبيل المثال، النقر على الأزرار)، وإرسال بيانات أخرى (على سبيل المثال، بث الصوت من ميكروفون مدمج في جهاز التحكّم عن بُعد) إلى النظام الأساسي.
SYSTEM_UI_INTELLIGENCE كل ما يلي:
  • أن تكون خدمة مثبّتة مسبقًا توفّر، من خلال واجهات برمجة التطبيقات الخاصة بإطار العمل (العامة أو التابعة لنظام التشغيل)، معالجًا ذكيًا على الجهاز فقط لميزات واجهة مستخدِم النظام (على سبيل المثال، توقّع التطبيقات التالية وعرضها للمستخدمين).
  • يجب أن تستوفي الخدمة جميع المتطلبات الموضّحة في القسم 9.8.6 "التقاط المحتوى" من مستند تعريف التوافق مع Android.
  • يجب ألا تتضمّن الخدمة إذن 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 كل ما يلي:
  • التطبيق هو تطبيق نظام.
  • يمكن لمصنّعي المعدات الأصلية فقط منح هذا الدور للتطبيق.
  • حالات الاستخدام المسموح بها:
    • بث التطبيقات أو عرضها على شاشة أخرى أو عكسها، ما يتيح بث المحتوى أو عرضه على شاشة أخرى أو عكسه من جهاز يعمل بنظام التشغيل Android، مثل هاتف جوّال أو جهاز لوحي، إلى كمبيوتر مكتبي أو كمبيوتر محمول
  • عند إنشاء الاتصال الأوّلي من الجهاز (أ) إلى الجهاز (ب):
    • يجب أن يتم السماح بعملية الإقران من خلال رمز صالح لمرة واحدة يتم عرضه على الجهاز المصدر (A) وإدخاله على الجهاز المتصل (B). وبدلاً من ذلك، إذا كان كلا الجهازَين يتضمّنان حسابًا واحدًا على الأقل مطابقًا في Android AccountManager، يجوز للمستخدم تأكيد عملية الإقران من خلال إدخال كلمة مرور الحساب على الجهاز المتصل (B).
    • يجب أن يكون كلا الجهازين متجاورَين 1 أثناء عملية الإقران.
  • يجب أن يكون كلا الجهازين على مسافة قريبة 1 من بعضهما البعض أثناء البث.
  • يمكن للتطبيق إنشاء قنوات اتصال وإدارتها مع الأجهزة المرتبطة، ما يتيح للأجهزة تبادل البيانات. ويجب أن يتمكّن التطبيق والأجهزة المرتبطة من مصادقة بعضهما البعض بنجاح (على سبيل المثال، من خلال إثبات معرفتهما بالمفاتيح المشتركة) لإنشاء قنوات الاتصال هذه. ويجب أن تتضمّن قنوات الاتصال حماية التشفير التام.
  • يمكن للتطبيق إرسال إشعارات من الجهاز المصدر (A) إلى الجهاز المتصل (B) للسماح للمستخدم باتخاذ إجراء بشأن الإشعارات على الجهاز المتصل (B).
  • أن يكون قادرًا على بث البيانات الوصفية اللازمة لبث التطبيقات إلى الجهاز المتصل (B)، مثل قائمة التطبيقات المتوفرة على الجهاز المصدر (A).
  • أن يكون بإمكان المستخدم بث التطبيقات من الجهاز المصدر (أ) إلى الجهاز المتصل (ب) بعد أن يوضّح المستخدم أنّه يفضّل إجراء ذلك من خلال الموافقة الصريحة (إما على الجهاز المصدر (أ) أو على الجهاز المتصل (ب)).
  • أن يكون بإمكانك إعادة تشغيل (إدخال) الأحداث التي تحدث على تطبيق يتم بثه على الجهاز المتصل (B) على الجهاز المصدر (A). على سبيل المثال، إعادة تشغيل حدث لمس على الجهاز المتصل (B) باستخدام الإحداثيات نفسها كما في الجهاز المصدر (A)، أو إعادة تشغيل حدث إدخال حدث على الجهاز المتصل (B) باستخدام دلالات الإدخال نفسها كما في الجهاز المصدر (A).
  • يمكن للتطبيق استبدال بث الميكروفون الخاص بالجهاز المصدر ببث الميكروفون الخاص بجهاز متصل أثناء استخدام تطبيق يتم بثه للميكروفون.
  • يسجّل التطبيق الصوت من الجهاز المصدر (أ) ويبثّه إلى الجهاز المتصل (ب).
  • يُنصح بحظر الوصول إلى تطبيقات الإعدادات ومتاجر التطبيقات من الجهاز المرتبط (B).
  • اعتبارًا من Android 16، يجب منع أخذ لقطات شاشة وقراءة الشاشة للمحتوى الحسّاس، مثل النوافذ والأسطح الآمنة، على الجهاز المتصل (B).
  • يجب التحقّق من سلامة إصدار نظام التشغيل على الجهاز المتصل (على سبيل المثال، باستخدام شهادة صحة الجهاز كما هو موضّح في VerifiedBootState).
  • لا يمكن بث التطبيقات إلا إذا كان هناك حساب واحد مطابق في سجل الحسابات على الجهاز (على سبيل المثال، الفئة AccountManager على Android) على كلا الجهازين. وفي حال عدم توفّر ذلك، يجب إثبات ملكية الجهاز من خلال إدخال رمز صالح لمرة واحدة يظهر على الجهاز المصدر (A) على الجهاز المتصل (B). يُرجى العِلم أنّه في حال الأجهزة التي تتيح استخدام عدة مستخدمين (وليس عدة حسابات) مع توفير عزل موثوق للبيانات كما هو الحال في ميزة "عدة مستخدمين" في Android، يُعد المستخدم جهازًا.
  • يجب إيقاف البث وفصل الجهاز المتصل (B) على الفور في حال انتهاء صلاحية مصادقة الحساب على الجهاز المتصل (B) أو إبطالها.
  • يجب إيقاف البث وفصل الجهاز (ب) عن الجهاز المتصل عند انتهاء مهلة عدم النشاط للجهاز المتصل (ب) الذي يظهر عليه محتوى الشاشة. ويمكن إبقاء شاشة الجهاز المتصل مفعّلة في حالات مثل WakeLock التي تبقي شاشة جهاز Android مفعّلة. ويجب توفير مهلة عدم النشاط. وإذا لم يكن الجهاز المتصل (ب) يتضمّن مهلة عدم النشاط، يجب استخدام مهلة عدم النشاط لمدة 5 دقائق كحد أقصى.
  • إذا كان الجهاز المصدر (أ) يستخدم ميزة &quot;عامل المعرفة في شاشة القفل&quot; (LSKF)، يجب ألا يبث التطبيق التطبيقات إلى جهاز متصل (ب) عندما تكون الشاشة مقفلة، إلا إذا كان الجهاز المتصل (ب) يحتوي على شاشة قفل وتم فتح قفله.
  • إذا كان الجهاز المصدر (أ) مُدارًا من قِبل مشرف، يجب أن يلتزم التطبيق بالسياسات التي يضعها المشرف بشأن تفعيل أو إيقاف البث إلى الأجهزة المجاورة (على سبيل المثال، باستخدام إعدادات DevicePolicyManager في Android).
  • يجب التأكّد من أنّ الشاشات البعيدة وجميع مصادر أحداث الإدخال البعيد تنتمي إلى الجهاز المنطقي نفسه (على سبيل المثال، شاشة بعيدة ولوحة مفاتيح متصلة) من منظور المستخدم، ويجب توجيه الأحداث وفقًا لذلك.
  • يجب أن يتمكّن المستخدم من إنهاء البث من الجهاز المصدر (أ)، على سبيل المثال، باستخدام زر في إشعار دائم. ويتم التحكّم في هذا السلوك من خلال شاشة القفل، إذا كان الجهاز المصدر (أ) يتضمّن قفل شاشة. يجب عرض عنصر التحكّم الدائم هذا على الجهاز المصدر (A) الذي يظهر دائمًا في الجزء المرئي من الصفحة.
  • يجب عرض تلميحات مرئية على الجهاز المصدر (أ) عند بث المحتوى على جهاز آخر، مثل رمز في شريط الحالة أو إشعار دائم.
DEVICE_POLICY_MANAGEMENT كل ما يلي:
  • يمكن للمصنّعين الأصليين للجهاز فقط منح هذا الدور للتطبيق، ولا يمكن للتطبيقات طلب هذا الدور لأنّه من المفترض أن يتم منحه تلقائيًا لاسم الحزمة الذي يحدّده المصنّع الأصلي للجهاز عند شحن الجهاز.
  • يجب أن يكون التطبيق قادرًا على توفير ملف عمل مُدار (مالك الملف الشخصي) أو جهاز مُدار (مالك الجهاز)، بما في ذلك تنزيل وتثبيت "عميل سياسة الجهاز" المناسب ليكون مالك الجهاز أو الملف الشخصي إذا لزم الأمر.
  • يمكن للتطبيق اختياريًا تعديل الموارد ديناميكيًا، مثل السلاسل والرسومات المتجهة المستخدمة لإدارة سياسة الجهاز.
  • يمكن أن يكون التطبيق تطبيق نظام مثبّتًا مسبقًا أو تم تنزيله وتثبيته قبل توفير الجهاز.
  • في حالات توفير مالك الملف الشخصي، عند تثبيت تطبيق حامل الدور على مستخدم Android معيّن، يجب تثبيته على جميع الملفات الشخصية السارية لهذا المستخدم.
SYSTEM_APP_PROTECTION_SERVICE كل ما يلي:
  • التطبيق هو تطبيق نظام.
  • أن يكون الغرض الوحيد من التطبيق هو رصد التطبيقات التي يُحتمَل أن تكون ضارة (التطبيقات التي قد تعرِّض المستخدمين أو بيانات المستخدمين أو الأجهزة للخطر، مثل أحصنة طروادة والتصيّد الاحتيالي وبرامج التجسس) أو البرامج غير المرغوب فيها على الأجهزة الجوّالة.
  • يجب أن يستوفي التطبيق جميع المتطلبات الموضّحة في قسم 9.8.6. بيانات على مستوى نظام التشغيل والبيانات المحيطة ضمن مستند تعريف التوافق مع Android.
  • يجب ألا يصرّح التطبيق عن الإذن android.permission.INTERNET العادي، بل يجب أن يصل إلى الإنترنت من خلال واجهات برمجة تطبيقات محدّدة جيدًا في مشروع مفتوح المصدر.
  • يجب ألا يرتبط التطبيق بتطبيقات أخرى، باستثناء تطبيقات النظام التالية: Permission Controller والمكوّنات التي توفّر واجهات برمجة تطبيقات خاصة بالهاتف والإنترنت. يجب إعداد كل ربط مسموح به بشكلٍ صريح من خلال إعدادات <allow-association> في ملف إعدادات النظام.
  • يجب ألا يشارك التطبيق البيانات مع تطبيقات أخرى إلا إذا اتّخذ المستخدم إجراءً مباشرًا (على سبيل المثال، إذا نقر المستخدم صراحةً على زر في كل مرة تتم فيها مشاركة البيانات).
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER كل ما يلي:
  • التطبيق هو تطبيق نظام.
  • يمكن لمصنّعي المعدات الأصلية فقط منح هذا الدور للتطبيق.
  • يجب أن ينقل التطبيق بيانات التقويم من هاتف المستخدم الذي يعمل بنظام التشغيل iOS أو Android إلى جهاز Android Auto. يجب أن يخزّن جهاز Android Auto بيانات التقويم هذه في مزوّد التقويم.
  • يجب أن يوفّر التطبيق عنصر واجهة مستخدم على الهاتف يمكن للمستخدم استخدامه لتفعيل مزامنة التقويم واختيار التقويمات التي ستتم مزامنتها، كما يجب أن يوفّر التطبيق عنصر واجهة مستخدم على الهاتف يمكن للمستخدم استخدامه لإيقاف مزامنة التقويم.
  • يجب أن يعمل التطبيق بدون اتصال بالإنترنت، مثلاً باستخدام اتصالات سلكية أو لاسلكية مباشرة.
AUTOMOTIVE_NAVIGATION كل ما يلي:
  • يحتوي التطبيق على نشاط يمكن للتطبيقات استدعاؤه من خلال طلبات implicit intent، والتي تعرض الموقع الجغرافي الحالي للمستخدم والمناطق المحيطة به.
  • يحتوي التطبيق على نشاط يمكن للتطبيقات استدعاؤه من خلال طلبات النية الضمنية، ما يتيح للمستخدم الانتقال إلى موقع جغرافي محدّد.
  • يحتوي التطبيق على نشاط يتم تشغيله في مجموعة العدادات عندما يكون التطبيق في إطار التركيز. يجب أن يعرض النشاط الموقع الجغرافي الحالي للمستخدم والمناطق المحيطة به، وأن يتيح له الانتقال إلى موقع جغرافي محدّد.
COMPANION_DEVICE_COMPUTER كل ما يلي:
  • التطبيق هو تطبيق نظام.
  • يمكن لمصنّعي المعدات الأصلية فقط منح هذا الدور للتطبيق.
  • تتيح هذه الإذن للمستخدمين عرض الإشعارات ومشاركة الصور والوسائط من الهاتف على جهاز كمبيوتر متصل.
SYSTEM_SETTINGS_INTELLIGENCE أحد الخيارات التالية على الأقل:
  • التطبيق هو تطبيق نظام.
  • يمكن لمصنّعي المعدات الأصلية فقط منح هذا الدور للتطبيق.
  • تتضمّن خدمة توفّر ميزات ذكية لتطبيق &quot;الإعدادات&quot;، مثل الاقتراحات والبحث.
NOTES كل ما يلي:
  • يحتوي التطبيق على نشاط يمكن للتطبيقات استدعاؤه من خلال طلبات intent ضمنية. يتيح النشاط للمستخدم إنشاء ملاحظة بغض النظر عمّا إذا كانت الشاشة مقفلة أو غير مقفلة.
  • يجب أن يتيح التطبيق ذلك من خلال توفير نشاط يتضمّن فلتر أهداف لـ android.intent.action.CREATE_NOTE مع الفئة android.intent.category.DEFAULT. يجب أن يتعامل النشاط أيضًا بشكل مناسب مع بيانات intent الإضافية android.intent.extra.USE_STYLUS_MODE.
  • يجب أن يحتوي التطبيق على سمتَي البيان showWhenLocked وturnScreenOn المضبوطتَين على true.
COMPANION_DEVICE_GLASSES يمكن للتطبيق إرسال طلبات للربط بجهاز نظّارة ذكية وإدارته (باستخدام واجهة برمجة التطبيقات التي توفّرها فئة CompanionDeviceManager). عند ربط جهاز النظارات بالتطبيق باستخدام واجهة المستخدم التي يوفّرها CDM، يمكن للمستخدمين إدارة جهاز النظارات من خلال منحه إذن الوصول إلى جهات الاتصال وإذن إدارة الإشعارات والمكالمات الهاتفية.
COMPANION_DEVICE_NEARBY_DEVICE_STREAMING كل ما يلي:
  • التطبيق هو تطبيق نظام.
  • يمكن لمصنّعي المعدات الأصلية فقط منح هذا الدور للتطبيق.
  • حالات الاستخدام المسموح بها:
    • بث التطبيقات من جهاز يعمل بنظام التشغيل Android، مثل هاتف جوّال أو جهاز لوحي، إلى مركبة
    • بث التطبيقات من جهاز يعمل بنظام التشغيل Android، مثل هاتف جوّال أو جهاز لوحي، إلى جهاز XR
  • عند إنشاء الاتصال الأوّلي من الجهاز (أ) إلى الجهاز (ب):
    • يجب أن يتم السماح بعملية الإقران من خلال رمز صالح لمرة واحدة يتم عرضه على الجهاز المصدر (A) وإدخاله على الجهاز المتصل (B). وبدلاً من ذلك، إذا كان كلا الجهازَين يتضمّنان حسابًا واحدًا على الأقل مطابقًا في Android AccountManager، يجوز للمستخدم تأكيد عملية الإقران من خلال إدخال كلمة مرور الحساب على الجهاز المتصل (B).
    • يجب أن يكون كلا الجهازين متجاورَين 1 أثناء عملية الإقران.
  • يجب أن يكون كلا الجهازين على مسافة قريبة 1 من بعضهما البعض أثناء البث.
  • يمكن للتطبيق إنشاء قنوات اتصال وإدارتها مع الأجهزة المرتبطة، ما يتيح للأجهزة تبادل البيانات. ويجب أن يتمكّن التطبيق والأجهزة المرتبطة من مصادقة بعضهما البعض بنجاح (على سبيل المثال، من خلال إثبات معرفتهما بالمفاتيح المشتركة) لإنشاء قنوات الاتصال هذه. ويجب أن تتضمّن قنوات الاتصال حماية التشفير التام.
  • يمكن للتطبيق إرسال إشعارات من الجهاز المصدر (A) إلى الجهاز المتصل (B) للسماح للمستخدم باتخاذ إجراء بشأن الإشعارات على الجهاز المتصل (B).
  • أن يكون قادرًا على بث البيانات الوصفية اللازمة لبث التطبيقات إلى الجهاز المتصل (B)، مثل قائمة التطبيقات المتوفرة على الجهاز المصدر (A).
  • أن يكون بإمكان المستخدم بث التطبيقات من الجهاز المصدر (أ) إلى الجهاز المتصل (ب) بعد أن يوضّح المستخدم أنّه يفضّل إجراء ذلك من خلال الموافقة الصريحة (إما على الجهاز المصدر (أ) أو على الجهاز المتصل (ب)).
  • أن يكون بإمكانك إعادة تشغيل (إدخال) الأحداث التي تحدث على تطبيق يتم بثه على الجهاز المتصل (B) على الجهاز المصدر (A). على سبيل المثال، إعادة تشغيل حدث لمس على الجهاز المتصل (B) باستخدام الإحداثيات نفسها كما في الجهاز المصدر (A)، أو إعادة تشغيل حدث إدخال حدث على الجهاز المتصل (B) باستخدام دلالات الإدخال نفسها كما في الجهاز المصدر (A).
  • يمكن للتطبيق استبدال بث الميكروفون الخاص بالجهاز المصدر ببث الميكروفون الخاص بجهاز متصل أثناء استخدام تطبيق يتم بثه للميكروفون.
  • يسجّل التطبيق الصوت من الجهاز المصدر (أ) ويبثّه إلى الجهاز المتصل (ب).
  • يُنصح بحظر الوصول إلى تطبيقات الإعدادات ومتاجر التطبيقات من الجهاز المرتبط (B).
  • اعتبارًا من الإصدار 25Q2 من نظام Android، يجب منع أخذ لقطات شاشة وقراءة المحتوى الحسّاس، مثل النوافذ والأسطح الآمنة، على الجهاز المتصل (B).
  • يجب التحقّق من سلامة إصدار نظام التشغيل على الجهاز المتصل (على سبيل المثال، باستخدام شهادة صحة الجهاز كما هو موضّح في VerifiedBootState).
  • لا يمكن بث التطبيقات إلا إذا كان هناك حساب واحد مطابق في سجل الحسابات على الجهاز (على سبيل المثال، الفئة AccountManager على Android) على كلا الجهازين. وفي حال عدم توفّر ذلك، يجب إثبات ملكية الجهاز من خلال إدخال رمز صالح لمرة واحدة يظهر على الجهاز المصدر (A) على الجهاز المتصل (B). يُرجى العِلم أنّه في حال الأجهزة التي تتيح استخدام عدة مستخدمين (وليس عدة حسابات) مع توفير عزل موثوق للبيانات كما هو الحال في ميزة "عدة مستخدمين" في Android، يُعد المستخدم جهازًا.
  • يجب إيقاف البث وفصل الجهاز المتصل (B) على الفور في حال انتهاء صلاحية مصادقة الحساب على الجهاز المتصل (B) أو إبطالها.
  • يجب إيقاف البث وفصل الجهاز (ب) عن الجهاز المتصل عند انتهاء مهلة عدم النشاط للجهاز المتصل (ب) الذي يظهر عليه محتوى الشاشة. ويمكن إبقاء شاشة الجهاز المتصل مفعّلة في حالات مثل WakeLock التي تبقي شاشة جهاز Android مفعّلة. ويجب توفير مهلة عدم النشاط. وإذا لم يكن الجهاز المتصل (ب) يتضمّن مهلة عدم النشاط، يجب استخدام مهلة عدم النشاط لمدة 5 دقائق كحد أقصى.
  • إذا كان الجهاز المصدر (أ) يستخدم ميزة &quot;عامل المعرفة في شاشة القفل&quot; (LSKF)، يجب ألا يبث التطبيق التطبيقات إلى جهاز متصل (ب) عندما تكون الشاشة مقفلة، إلا إذا كان الجهاز المتصل (ب) يحتوي على شاشة قفل وتم فتح قفله.
  • إذا كان الجهاز المصدر (أ) مُدارًا من قِبل مشرف، يجب أن يلتزم التطبيق بالسياسات التي يضعها المشرف بشأن تفعيل أو إيقاف البث إلى الأجهزة المجاورة (على سبيل المثال، باستخدام إعدادات DevicePolicyManager في Android).
  • يجب التأكّد من أنّ الشاشات البعيدة وجميع مصادر أحداث الإدخال البعيد تنتمي إلى الجهاز المنطقي نفسه (على سبيل المثال، شاشة بعيدة ولوحة مفاتيح متصلة) من منظور المستخدم، ويجب توجيه الأحداث وفقًا لذلك.
  • يجب أن يتمكّن المستخدم من إنهاء البث من الجهاز المصدر (أ)، على سبيل المثال، باستخدام زر في إشعار دائم. ويتم التحكّم في هذا السلوك من خلال شاشة القفل، إذا كان الجهاز المصدر (أ) يتضمّن قفل شاشة. يجب عرض عنصر التحكّم الدائم هذا على الجهاز المصدر (A) الذي يظهر دائمًا في الجزء المرئي من الصفحة.
  • يجب عرض تلميحات مرئية على الجهاز المصدر (أ) عند بث المحتوى على جهاز آخر، مثل رمز في شريط الحالة أو إشعار دائم.
WALLET إحدى القيم التالية:
  • يحتوي التطبيق على خدمة وحدة بيانات بروتوكول التطبيق (APDU) التي تعمل بتقنية الاتصال قريب المدى (NFC) والتي تسجّل بشكل ثابت معرّف تطبيق واحدًا على الأقل ضمن فئة PAYMENT.
  • ينفّذ التطبيق مثيلاً من QuickAccessWalletService.

1 يتم تحديد مدى القرب من خلال أن يكون الجهازان ضمن نطاق البلوتوث أو Wi-Fi لبعضهما البعض، أو باستخدام الشبكة المحلية نفسها.