أدوار Android

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

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

الدور المتطلبات
ASSISTANT أحد الخيارات التالية على الأقل:
  • يحتوي التطبيق على نشاط ينفّذ إجراءات مساعدة، وذلك استنادًا إلى المعلومات المتعلّقة بسياق المستخدم عند طلب المساعدة (على سبيل المثال، اسم الحزمة للتطبيق الحالي الذي يعمل في المقدّمة ومعلوماته السياقية).
  • يتضمّن التطبيق خدمة تفاعل صوتي تعمل دائمًا ومحمية بإذن android.permission.BIND_VOICE_INTERACTION، ويمكنها التعرّف على الصوت واستضافة جلسات تفاعل صوتي نشطة. بالإضافة إلى ذلك، يحتوي التطبيق على علامة صريحة تشير إلى أنّ الخدمة يمكنها معالجة إجراء المساعدة.
BROWSER كل ما يلي:
  • يحتوي التطبيق على نشاط يمكن للتطبيقات استدعاؤه من خلال طلبات الأهداف الضمنية، ويعرض صفحة ويب تتوافق مع عنوان http://.
  • يجب أن يتعامل التطبيق مع التنقّل بين الروابط. أي أنّه إذا كان المستخدم يتصفّح صفحة ويب ونقر على عنوان http:// في النص، يجب أن يكون التطبيق قادرًا على عرض المحتوى المرتبط بالرابط المحدّد بدون أي تدخل إضافي من المستخدم.
  • يجب أن يكون التطبيق قادرًا على تقديم معلومات الموقع الجغرافي الحالي للجهاز إلى صفحات الويب عند طلبها وموافقة المستخدم على الطلب.
DIALER كل ما يلي:
  • يحتوي التطبيق على نشاط يمكن للتطبيقات استدعاؤه من خلال طلبات النية الضمنية، ما يوفّر واجهة مستخدم أثناء المكالمة عندما يكون الجهاز في مكالمة.
  • يمكن للتطبيق التعامل مع أغراض المكالمات الواردة وعرض المعلومات ذات الصلة بالمكالمة (مثل رقم هاتف المتصل) للمستخدم والسماح له بالرد على المكالمة أو رفضها.
  • يوفّر التطبيق للمستخدم وسيلة لبدء المكالمات والاطّلاع على سجلّ المكالمات على جهازه.
SMS كل ما يلي:
  • يستوفي التطبيق جميع متطلبات تطبيقات الرسائل القصيرة.
  • يحتوي التطبيق على نشاط يمكن للتطبيقات استدعاؤه من خلال طلبات النية الضمنية، والتي يمكنها إرسال رسالة إلى رقم هاتف.
  • يحتوي التطبيق على خدمة محمية بإذن android.permission.SEND_RESPOND_VIA_MESSAGE ويمكن استدعاؤها من خلال نوايا ضمنية، ما يتيح إمكانية إرسال الرسائل الواردة من تطبيق "الهاتف" عندما يختار المستخدم الرد عبر الرسائل أثناء تلقّي مكالمة واردة. يمكن للتطبيق إرسال الرسائل من خلال نظام المراسلة الخاص به.
  • يحتوي التطبيق على جهازَي استقبال بث، أحدهما محمي بإذن android.permission.BROADCAST_SMS والآخر محمي بإذن android.permission.BROADCAST_WAP_PUSH، ويمكنهما الاستماع إلى الرسائل القصيرة SMS ورسائل الوسائط المتعددة المستندة إلى النصوص التي يتم إرسالها إلى الجهاز، على التوالي. ويكون التطبيق مسؤولاً بعد ذلك عن كتابة الرسائل إلى مقدّم خدمة الرسائل القصيرة وإرسال إشعارات إلى المستخدمين.
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 كل ما يلي:
  • التطبيق هو تطبيق نظام.
  • يمكن لمصنّعي المعدات الأصلية فقط منح هذا الدور للتطبيق.
  • يحتوي التطبيق على نشاط يتيح للمستخدمين الوصول إلى المستندات الحالية وإنشاء مستندات جديدة على الجهاز.
  • يجب أن يستوفي التطبيق جميع المتطلبات الموضّحة في القسم 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، مثل هاتف جوّال أو جهاز لوحي، إلى كمبيوتر مكتبي أو كمبيوتر محمول
  • عند إنشاء الاتصال الأوّلي من الجهاز (أ) إلى الجهاز (ب):
    • يجب أن يتم السماح بعملية الربط باستخدام رمز صالح لمرة واحدة يظهر على الجهاز المصدر (أ) ويتم إدخاله على الجهاز المتصل (ب). بدلاً من ذلك، إذا كان كلا الجهازَين يتضمّنان حسابًا واحدًا على الأقل مطابقًا في 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 نشطة. يجب توفُّر مهلة عدم النشاط. إذا لم يكن الجهاز المتصل (B) يتضمّن مهلة عدم نشاط، يجب استخدام مهلة عدم نشاط لا تتجاوز 5 دقائق.
  • إذا كان الجهاز المصدر (أ) يستخدم عامل المعرفة لقفل الشاشة (LSKF)، يجب ألا يبث التطبيق التطبيقات إلى جهاز متصل (ب) عندما تكون الشاشة مقفلة، إلا إذا كان الجهاز المتصل (ب) مزودًا بشاشة قفل وتم فتح قفله.
  • إذا كان الجهاز المصدر (أ) مُدارًا من قِبل مشرف، يجب أن يلتزم التطبيق بالسياسات التي يضعها المشرف بشأن تفعيل أو إيقاف البث إلى الأجهزة المجاورة (على سبيل المثال، باستخدام إعدادات DevicePolicyManager في Android).
  • يجب التأكّد من أنّ الشاشات البعيدة وجميع مصادر أحداث الإدخال البعيد تنتمي إلى الجهاز المنطقي نفسه (على سبيل المثال، شاشة بعيدة ولوحة مفاتيح متصلة) من منظور المستخدم، ويتم توجيه الأحداث وفقًا لذلك.
  • يجب أن يتمكّن المستخدم من إنهاء البث من الجهاز المصدر (أ)، على سبيل المثال، باستخدام زر في إشعار دائم. ويتم التحكّم في هذا السلوك من خلال شاشة القفل، إذا كان الجهاز المصدر (أ) يتضمّن قفل شاشة. يجب عرض عنصر التحكّم الدائم هذا على الجهاز المصدر (A) الذي يظهر دائمًا في الجزء المرئي من الصفحة.
  • يجب عرض عنصر تحكّم على الجهاز المصدر (أ) عند بث المحتوى على جهاز آخر، مثل رمز في شريط الحالة أو إشعار دائم.
DEVICE_POLICY_MANAGEMENT كل ما يلي:
  • يمكن للمصنّعين الأصليين للجهاز فقط منح هذا الدور للتطبيق، ولا يمكن للتطبيقات طلب هذا الدور لأنّه من المفترض أن يتم منحه تلقائيًا لاسم الحزمة الذي يحدّده المصنّع الأصلي للجهاز عند شحن الجهاز.
  • يجب أن يكون التطبيق قادرًا على توفير ملف عمل مُدار (مالك الملف الشخصي) أو جهاز مُدار (مالك الجهاز)، بما في ذلك تنزيل وتثبيت "عميل سياسة الجهاز" المناسب ليكون مالك الجهاز أو الملف الشخصي إذا لزم الأمر.
  • يمكن للتطبيق اختياريًا تعديل الموارد ديناميكيًا، مثل السلاسل والرسومات المتجهة المستخدمة لإدارة سياسة الجهاز.
  • يمكن أن يكون التطبيق تطبيق نظام مثبّتًا مسبقًا أو تم تنزيله وتثبيته قبل توفير الجهاز.
  • في حالات توفير ملفات شخصية للمالكين، عند تثبيت تطبيق صاحب الدور على مستخدم Android معيّن، يجب تثبيته على جميع الملفات الشخصية السارية لهذا المستخدم.
SYSTEM_APP_PROTECTION_SERVICE كل ما يلي:
  • التطبيق هو تطبيق نظام.
  • الغرض الوحيد من التطبيق هو رصد التطبيقات التي يُحتمَل أن تكون ضارة (التطبيقات التي قد تعرِّض المستخدمين أو بياناتهم أو أجهزتهم للخطر، مثل أحصنة طروادة والتصيّد الاحتيالي وبرامج التجسس) أو البرامج غير المرغوب فيها على الأجهزة الجوّالة.
  • يجب أن يستوفي التطبيق جميع المتطلبات الموضّحة في القسم 9.8.6 من مستند تعريف التوافق مع Android. البيانات على مستوى نظام التشغيل والبيانات المحيطة
  • يجب ألا يصرّح التطبيق عن إذن android.permission.INTERNET عادي. بدلاً من ذلك، يجب أن يتم الوصول إلى الإنترنت من خلال واجهات برمجة تطبيقات محددة جيدًا في مشروع مفتوح المصدر.
  • يجب ألا يرتبط التطبيق بتطبيقات أخرى، باستثناء تطبيقات النظام التالية: Permission Controller والمكوّنات التي توفّر واجهات برمجة تطبيقات Telephony وInternet. يجب إعداد كل ربط مسموح به بشكلٍ صريح من خلال إعدادات <allow-association> في ملف إعدادات النظام.
  • يجب ألا يشارك التطبيق البيانات مع تطبيقات أخرى إلا إذا اتّخذ المستخدم إجراءً مباشرًا (على سبيل المثال، إذا نقر المستخدم صراحةً على زر في كل مرة تتم فيها مشاركة البيانات).
SYSTEM_AUTOMOTIVE_CALENDAR_SYNC_MANAGER كل ما يلي:
  • التطبيق هو تطبيق نظام.
  • يمكن لمصنّعي المعدات الأصلية فقط منح هذا الدور للتطبيق.
  • يجب أن ينقل التطبيق بيانات التقويم من هاتف المستخدم الذي يعمل بنظام التشغيل iOS أو Android إلى جهاز Android Auto. يجب أن يخزّن جهاز Android Auto بيانات التقويم هذه في مزوّد التقويم.
  • يجب أن يوفّر التطبيق أحد عناصر واجهة المستخدم على الهاتف يمكن للمستخدم استخدامه لتفعيل مزامنة التقويم واختيار التقاويم التي ستتم مزامنتها. يجب أن يوفّر التطبيق عنصر واجهة مستخدم على الهاتف يمكن للمستخدم استخدامه لإيقاف مزامنة التقويم.
  • يجب أن يعمل التطبيق بدون اتصال بالإنترنت. على سبيل المثال، من خلال استخدام اتصالات سلكية أو لاسلكية مباشرة.
AUTOMOTIVE_NAVIGATION كل ما يلي:
  • يحتوي التطبيق على نشاط يمكن للتطبيقات استدعاؤه من خلال طلبات الأهداف الضمنية، والتي تعرض الموقع الجغرافي الحالي للمستخدم والمناطق المحيطة به.
  • يحتوي التطبيق على نشاط يمكن للتطبيقات استدعاؤه من خلال طلبات النية الضمنية، ما يتيح للمستخدم الانتقال إلى موقع جغرافي محدّد.
  • يحتوي التطبيق على نشاط يتم تشغيله في مجموعة العدادات عندما يكون التطبيق في وضع التركيز على التنقّل. يجب أن يعرض النشاط الموقع الجغرافي الحالي للمستخدم والمناطق المحيطة به، وأن يتيح له الانتقال إلى موقع جغرافي محدّد.
COMPANION_DEVICE_COMPUTER كل ما يلي:
  • التطبيق هو تطبيق نظام.
  • يمكن لمصنّعي المعدات الأصلية فقط منح هذا الدور للتطبيق.
  • تتيح للمستخدمين عرض الإشعارات بشكل متطابق والوصول إلى الصور والوسائط من الهاتف على جهاز كمبيوتر متصل.
SYSTEM_SETTINGS_INTELLIGENCE أحد الخيارات التالية على الأقل:
  • التطبيق هو تطبيق نظام.
  • يمكن لمصنّعي المعدات الأصلية فقط منح هذا الدور للتطبيق.
  • يحتوي على خدمة توفّر ميزات ذكية لتطبيق &quot;الإعدادات&quot;، مثل الاقتراحات والبحث.
NOTES كل ما يلي:
  • يحتوي التطبيق على نشاط يمكن للتطبيقات استدعاؤه من خلال طلبات intent ضمنية. يسمح النشاط للمستخدم بإنشاء ملاحظة بغض النظر عمّا إذا كانت الشاشة مقفلة أو غير مقفلة.
  • يجب أن يتيح التطبيق ذلك من خلال توفير نشاط يتضمّن فلتر أهداف لـ 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 كل ما يلي:
  • التطبيق هو تطبيق نظام.
  • يمكن لمصنّعي المعدات الأصلية فقط منح هذا الدور للتطبيق.
  • حالات الاستخدام المسموح بها:
    • بث التطبيقات من جهاز يعمل بنظام التشغيل Android، مثل هاتف جوّال أو جهاز لوحي، إلى مركبة
    • بث التطبيقات من جهاز يعمل بنظام التشغيل Android، مثل هاتف جوّال أو جهاز لوحي، إلى جهاز XR
  • عند إنشاء الاتصال الأوّلي من الجهاز (أ) إلى الجهاز (ب):
    • يجب أن يتم السماح بعملية الربط باستخدام رمز صالح لمرة واحدة يظهر على الجهاز المصدر (أ) ويتم إدخاله على الجهاز المتصل (ب). بدلاً من ذلك، إذا كان كلا الجهازَين يتضمّنان حسابًا واحدًا على الأقل مطابقًا في 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 نشطة. يجب توفُّر مهلة عدم النشاط. إذا لم يكن الجهاز المتصل (B) يتضمّن مهلة عدم نشاط، يجب استخدام مهلة عدم نشاط لا تتجاوز 5 دقائق.
  • إذا كان الجهاز المصدر (أ) يستخدم عامل المعرفة لقفل الشاشة (LSKF)، يجب ألا يبث التطبيق التطبيقات إلى جهاز متصل (ب) عندما تكون الشاشة مقفلة، إلا إذا كان الجهاز المتصل (ب) مزودًا بشاشة قفل وتم فتح قفله.
  • إذا كان الجهاز المصدر (أ) مُدارًا من قِبل مشرف، يجب أن يلتزم التطبيق بالسياسات التي يضعها المشرف بشأن تفعيل أو إيقاف البث إلى الأجهزة المجاورة (على سبيل المثال، باستخدام إعدادات DevicePolicyManager في Android).
  • يجب التأكّد من أنّ الشاشات البعيدة وجميع مصادر أحداث الإدخال البعيد تنتمي إلى الجهاز المنطقي نفسه (على سبيل المثال، شاشة بعيدة ولوحة مفاتيح متصلة) من منظور المستخدم، ويتم توجيه الأحداث وفقًا لذلك.
  • يجب أن يتمكّن المستخدم من إنهاء البث من الجهاز المصدر (أ)، على سبيل المثال، باستخدام زر في إشعار دائم. ويتم التحكّم في هذا السلوك من خلال شاشة القفل، إذا كان الجهاز المصدر (أ) يتضمّن قفل شاشة. يجب عرض عنصر التحكّم الدائم هذا على الجهاز المصدر (A) الذي يظهر دائمًا في الجزء المرئي من الصفحة.
  • يجب عرض عنصر تحكّم على الجهاز المصدر (أ) عند بث المحتوى على جهاز آخر، مثل رمز في شريط الحالة أو إشعار دائم.
WALLET أحد الخيارات التالية:
  • يحتوي التطبيق على خدمة NFC APDU تسجّل بشكل ثابت معرّف تطبيق واحدًا على الأقل ضمن فئة PAYMENT.
  • ينفّذ التطبيق مثيلاً من QuickAccessWalletService.

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