أدوار Android

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

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

الدور المتطلبات
ASSISTANT أحد العناصر التالية على الأقلّ:
  • يحتوي التطبيق على نشاط ينفّذ إجراءات المساعدة، استنادًا إلى المعلومات المتعلّقة بسياق المستخدم عند طلب المساعدة (على سبيل المثال، اسم حزمة التطبيق الحالي الذي يعمل في المقدّمة ومعلوماته السياقية).
  • يحتوي التطبيق على خدمة تفاعُل صوتي تعمل دائمًا ومقيَّدة بإذن android.permission.BIND_VOICE_INTERACTION، ويمكنها التعرّف على الصوت واستضافة جلسات تفاعُل صوتي نشطة. بالإضافة إلى ذلك، يتضمّن التطبيق علامة صريحة تشير إلى أنّ الخدمة قادرة على معالجة إجراء المساعدة.
BROWSER كل ما يلي:
  • يحتوي التطبيق على نشاط يمكن للتطبيقات استدعاؤه من خلال طلبات الهدف الضمني، والذي يعرض صفحة ويب تتوافق مع عنوان http://.
  • يجب أن يتعامل التطبيق مع التنقّل بين الروابط. أي إذا كان المستخدم يشاهد صفحة ويب ونقر على عنوان http:// في النص، يجب أن يتمكن التطبيق من عرض المحتوى المقابل للرابط المحدد بدون تدخل إضافي من المستخدم.
  • يجب أن يتمكّن التطبيق من تقديم معلومات الموقع الجغرافي الحالي للجهاز إلى صفحات الويب عندما يُطلب منه ذلك ويوافق المستخدم على الطلب.
DIALER كل ما يلي:
  • يحتوي التطبيق على نشاط يمكن للتطبيقات استدعاؤه من خلال طلبات النية الضمنية، ما يوفّر واجهة مستخدم أثناء المكالمة عندما يكون الجهاز في مكالمة.
  • يمكن للتطبيق معالجة طلبات المكالمات الواردة وعرض المعلومات المتعلقة بالمكالمة (مثل رقم هاتف المتصل) للمستخدم، والسماح للمستخدم بالرد على المكالمة أو رفضها.
  • يوفّر التطبيق للمستخدم وسيلة لإجراء المكالمات والاطّلاع على سجلّ المكالمات على جهازه.
SMS كل ما يلي:
  • يستوفي التطبيق جميع متطلبات تطبيقات 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، والذي يؤدي وظيفتَين:
  • حظر المكالمات وفحصها: يمكن للخدمة اختيار المكالمات التي يجب إرسالها إلى تطبيق الاتصال على الهاتف (وقد يرنّ الهاتف، حسب إعدادات ميزة "عدم الإزعاج" أو مستوى الصوت)، والمكالمات التي يجب إرسالها إلى البريد الصوتي بدون إصدار صوت.
  • تحديد هوية المتصل: يمكن للخدمة تحديد هوية المتصل وعرض معلومات عن المكالمة من خلال واجهة مستخدم.
SUPERVISION كل ما يلي:
  • إذا كان التطبيق تطبيق نظام أو خدمة مثبَّتة مسبقًا
  • ويمكن للمصنّعين الأصليين للأجهزة فقط منح هذا الدور للتطبيق.
  • أن يكون الغرض الوحيد من التطبيق هو تفعيل عناصر التحكّم لوالدي المستخدم أو الوصي القانوني عليه لإدارة الجهاز
  • يجب أن يوفّر التطبيق عنصر واجهة مستخدم على الجهاز يمكن للمستخدم المفوَّض استخدامه لإيقاف دور الإشراف.
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 كل ما يلي:
  • التطبيق هو تطبيق نظام .
  • ويمكن للمصنّعين الأصليين للأجهزة فقط منح هذا الدور للتطبيق.
  • يجب أن يعرض التطبيق إشعارات فورية للمستخدمين على أجهزة التلفزيون. يجب أن يعرض التطبيق أيضًا الإشعارات النشطة الحالية عند إرسال intent الخاص بـ android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL (من SystemUI).
SYSTEM_COMPANION_DEVICE_PROVIDER كل ما يلي:
  • التطبيق هو تطبيق نظام .
  • ويمكن للمصنّعين الأصليين للأجهزة فقط منح هذا الدور للتطبيق.
  • يجب أن يتمكّن التطبيق من رصد الأجهزة الملحقة في محيطه. يجب أن يتضمّن واجهة مستخدم يمكن للمستخدم من خلالها تأكيد أنّه يجب ربط جهاز ملحق معيّن بتطبيق وإدارته من خلاله. عندما يؤكّد المستخدم ذلك، يمنح التطبيق الإداري التطبيق المرتبط إذنًا بالوصول إلى الجهاز الملحق (على سبيل المثال، اسمه وعنوانه وفئته وحالة الربط) ويمكنه بدء عملية الربط.
SYSTEM_DOCUMENT_MANAGER كل ما يلي:
  • التطبيق هو تطبيق نظام .
  • ويمكن للمصنّعين الأصليين للأجهزة فقط منح هذا الدور للتطبيق.
  • يحتوي التطبيق على نشاط يتيح للمستخدمين الوصول إلى المستندات الحالية وإنشاء مستندات جديدة على الجهاز.
  • يجب أن يستوفي التطبيق جميع المتطلبات الموضّحة في القسم 2.2.3 من مستند تعريف التوافق (CDD) لنظام التشغيل Android. Software ضمن العنوان [3.2.3.1/H-0-1].
SYSTEM_ACTIVITY_RECOGNIZER كل ما يلي:
  • التطبيق هو تطبيق نظام .
  • يحتوي التطبيق على خدمة محميّة بواسطة android.permission.ACTIVITY_RECOGNITION، ويمكنها التعرّف على النشاط (مثل الجري أو ركوب الدراجات).
SYSTEM_UI كل ما يلي:
  • التطبيق هو تطبيق نظام .
  • ويمكن للمصنّعين الأصليين للأجهزة فقط منح هذا الدور للتطبيق.
  • يحتوي التطبيق على واجهة للمستخدمين للتفاعل مع هواتفهم. على سبيل المثال، شاشة الهاتف الرئيسية، والتنقّل، والتطبيقات المستخدَمة مؤخرًا، والإعدادات السريعة، وشريط الإشعارات، وشاشة القفل، والتحكّم في مستوى الصوت.
SYSTEM_TELEVISION_REMOTE_SERVICE كل ما يلي:
  • التطبيق هو تطبيق نظام على Android TV.
  • ويمكن فقط للمصنّعين الأصليين للأجهزة منح هذا الدور للتطبيق.
  • يحتوي التطبيق على خدمة يمكنها الاتصال بجهاز التحكّم عن بُعد للتلفزيون الذي يعمل كجهاز واجهة بشرية (على سبيل المثال، عبر تكنولوجيا BLE)، وإدخال الأحداث (على سبيل المثال، النقرات على الأزرار)، وإرسال بيانات أخرى (على سبيل المثال، بث صوتي من ميكروفون مدمج في جهاز التحكّم عن بُعد) إلى المنصة.
SYSTEM_UI_INTELLIGENCE كل ما يلي:
  • أن تكون خدمة مثبَّتة مسبقًا توفّر، من خلال واجهات برمجة التطبيقات لإطار العمل (واجهات برمجة التطبيقات العامة أو واجهات برمجة التطبيقات الخاصة بالنظام)، معالجًا ذكيًا على الجهاز فقط لميزات واجهة مستخدِم النظام (على سبيل المثال، توقُّع التطبيقات التالية وعرضها للمستخدمين).
  • يجب أن تستوفي الخدمة جميع المتطلبات الموضّحة في قسم "مستند تعريف التوافق (CDD) مع 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، باستثناء أنّ الخدمة المثبّتة مسبقًا توفّر معالجًا ذكيًا للنصوص على الجهاز فقط (على سبيل المثال، توفير ميزة &quot;الترجمة المباشرة&quot; أو &quot;الملء التلقائي&quot;).
SYSTEM_VISUAL_INTELLIGENCE كل ما يلي:
  • تتطابق مع شروط SYSTEM_UI_INTELLIGENCE، باستثناء أنّ الخدمة المثبّتة مسبقًا توفّر معالجًا ذكيًا على الجهاز فقط للميزات المرئية التي تتضمّن تحليل بيانات الكاميرا. على سبيل المثال، إبقاء شاشة الهاتف نشطة أثناء نظر المستخدم إليها أو تحديد اتجاه الشاشة المثالي استنادًا إلى اتجاه وجه المستخدم من الكاميرا الأمامية على الجهاز.
COMPANION_DEVICE_APP_STREAMING كل ما يلي:
  • التطبيق هو تطبيق نظام .
  • ويمكن للمصنّعين الأصليين للأجهزة فقط منح هذا الدور للتطبيق.
  • حالات الاستخدام المسموح بها:
    • بث التطبيقات أو إرسالها أو نسخها من جهاز يعمل بنظام التشغيل Android، مثل الهاتف الجوّال أو الجهاز اللوحي، إلى كمبيوتر مكتبي أو كمبيوتر محمول، وذلك في حال كانت هذه التطبيقات تتيح البث أو الإرسال أو النسخ
  • عند إنشاء الاتصال الأولي من الجهاز "أ" إلى الجهاز "ب":
    • يجب السماح بالإقران من خلال رمز صالح لمرة واحدة يظهر على الجهاز المصدر (أ) ويتم إدخاله على الجهاز المتصل (ب). بدلاً من ذلك، إذا كان كلا الجهازَين يحتويان على حساب واحد على الأقل متطابق في Android AccountManager، يمكن للمستخدم تأكيد الإقران عن طريق إدخال كلمة مرور الحساب على الجهاز المتصل (ب).
    • يجب أن يكون كلا الجهازين قريبين 1 من بعضهما أثناء الإقران.
  • يجب أن يكون كلا الجهازين قريبين 1 من بعضهما أثناء البث.
  • يمكن للتطبيق إنشاء قنوات اتصال مع الأجهزة المتصلة وإدارتها لكي تتمكّن الأجهزة من تبادل البيانات. يجب أن تتم مصادقة التطبيق والأجهزة المتصلة بنجاح (على سبيل المثال، من خلال إثبات معرفتها بالمفاتيح المشتركة) لإنشاء قنوات الاتصال هذه. يجب أن تكون قنوات الاتصال محمية بالتشفير التام بين الأطراف.
  • يمكن للتطبيق إرسال إشعارات من الجهاز المصدر (أ) إلى الجهاز المتصل (ب) للسماح للمستخدم باتخاذ إجراء بشأن الإشعارات على الجهاز المتصل (ب).
  • أن يكون قادرًا على بث البيانات الوصفية اللازمة لبث التطبيق إلى الجهاز المتصل (ب)، مثل قائمة التطبيقات المتاحة على الجهاز المصدر (أ).
  • أن يكون بإمكانها بث التطبيقات من الجهاز المصدر (أ) إلى الجهاز المتصل (ب) بعد أن يشير المستخدم إلى تفضيله إجراء ذلك من خلال موافقة صريحة (إما على الجهاز المصدر (أ) أو على الجهاز المتصل (ب)).
  • إمكانية إعادة تشغيل (إدخال) الأحداث التي تقع على تطبيق بثّ على الجهاز المتصل (ب) مرة أخرى على الجهاز المصدر (أ). على سبيل المثال، إعادة تشغيل حدث لمس على الجهاز المتصل (ب) بالإحداثيات نفسها التي تم استخدامها على الجهاز المصدر (أ)، أو إعادة تشغيل حدث إدخال حدث على الجهاز المتصل (ب) بدلالات الإدخال نفسها التي تم استخدامها على الجهاز المصدر (أ).
  • يمكن للتطبيق استبدال مصدر بث الميكروفون في الجهاز المصدر بمصدر بث الميكروفون في الجهاز المتصل أثناء استخدام تطبيق بثّ للميكروفون.
  • يلتقط التطبيق الصوت من الجهاز المصدر (أ) ويبثّه إلى الجهاز المتصل (ب).
  • يُنصح بحظر الوصول إلى تطبيقات الإعدادات ومتاجر التطبيقات من الجهاز المتصل (ب).
  • بدءًا من الإصدار Android 16، يجب منع التقاط لقطات الشاشة وقراءة الشاشة للمحتوى الحسّاس، مثل النوافذ والأسطح الآمنة، على الجهاز المتصل (ب).
  • يجب التحقّق من سلامة إصدار نظام التشغيل للجهاز المتصل (على سبيل المثال، باستخدام مصادقة الجهاز كما هو موضّح في VerifiedBootState).
  • يجب بث تطبيقات البثّ التي تحتوي على حساب واحد مطابق فقط في سجلّ الحسابات على الجهاز فقط (على سبيل المثال، AccountManager على Android) على كلا الجهازَين. وإذا لم يكن الأمر كذلك، يجب السماح بالبث باستخدام رمز صالح لمرة واحدة يظهر على الجهاز المصدر (أ) ويتم إدخاله على الجهاز المتصل (ب). يُرجى العِلم أنّه في حال الأجهزة التي تتيح استخدام حسابات متعددة (وليس حسابات متعددة) مع عزل البيانات الموثوقة نفسها كما هو الحال في ميزة تعدُّد المستخدمين في Android، يتم احتساب المستخدم كجهاز.
  • يجب إيقاف البث وقطع الاتصال بالجهاز المتصل (ب) على الفور إذا انتهت صلاحية مصادقة الحساب على الجهاز المتصل (ب) أو تم إبطالها.
  • يجب إيقاف البث وقطع الاتصال بالجهاز المتصل (ب) عند انتهاء مهلة عدم النشاط على الجهاز المتصل (ب) الذي يظهر عليه المحتوى المعروض. قد تُبقي شاشة الجهاز المتصل قيد التشغيل في حالات مثل WakeLock التي تُبقي شاشة جهاز Android قيد التشغيل. يجب أن تكون مهلة عدم النشاط متوفّرة. إذا لم يكن الجهاز المتصل (ب) يتضمّن مهلة عدم نشاط، يجب استخدام مهلة عدم نشاط مدتها 5 دقائق كحد أقصى.
  • إذا كان الجهاز المصدر (أ) يستخدم عامل المعرفة لشاشة القفل (LSKF)، عندما تكون الشاشة مقفلة، يجب ألا يبث التطبيق تطبيقات البث إلى جهاز متصل (ب) ما لم يكن الجهاز المتصل (ب) يحتوي على شاشة قفل وتم فتح قفله.
  • إذا كان الجهاز المصدر (أ) مُدارًا من قِبل مشرف، يجب أن يلتزم التطبيق بالسياسات التي يضعها المشرف بشأن تفعيل أو إيقاف البث إلى الأجهزة المجاورة (على سبيل المثال، باستخدام إعدادات DevicePolicyManager في Android).
  • يجب التأكّد من أنّ الشاشات البعيدة وجميع مصادر أحداث الإدخال عن بُعد تنتمي إلى الجهاز المنطقي نفسه (على سبيل المثال، شاشة بعيدة ولوحة مفاتيح متصلة) من منظور المستخدم، ويتم توجيه الأحداث وفقًا لذلك.
  • يجب أن يتمكّن المستخدم من إنهاء البث من الجهاز المصدر (أ)، على سبيل المثال، باستخدام زر في إشعار دائم. يتم التحكّم في هذا السلوك من خلال شاشة القفل، إذا كان الجهاز المصدر (أ) يحتوي على قفل شاشة. يجب عرض هذه الإشارة الثابتة على الجهاز المصدر (أ) بحيث تكون مرئية دائمًا وفي الجزء المرئي من الصفحة.
  • يجب أن يعرض الجهاز المصدر (أ) مؤشرًا على أنّ البث يتم على جهاز آخر، مثل رمز في شريط الحالة أو إشعار دائم.
DEVICE_POLICY_MANAGEMENT كل ما يلي:
  • يمكن فقط للمصنّعين الأصليين للأجهزة منح هذا الدور للتطبيق. ولا يمكن للتطبيقات طلب هذا الدور لأنّه من المفترض أن يتم منحه تلقائيًا لاسم الحزمة الذي يحدّده المصنّع الأصلي للجهاز عند شحن الجهاز.
  • يجب أن يكون التطبيق قادرًا على توفير ملف شخصي مُدار (مالك الملف الشخصي) أو جهاز مُدار (مالك الجهاز)، بما في ذلك تنزيل وتثبيت عميل سياسة الجهاز المناسب ليكون مالك الجهاز/الملف الشخصي إذا لزم الأمر.
  • يمكن للتطبيق اختياريًا تحديث الموارد ديناميكيًا، مثل السلاسل والعناصر القابلة للرسم المستخدَمة لإدارة سياسات الجهاز.
  • يمكن أن يكون التطبيق مثبّتًا مسبقًا على النظام أو يمكن تنزيله وتثبيته قبل عملية الإعداد.
  • في حالات توفير مالك الملف الشخصي، عندما يتم تثبيت تطبيق صاحب الدور على مستخدم Android معيّن، يجب تثبيته على جميع الملفات الشخصية السارية لهذا المستخدم.
SYSTEM_APP_PROTECTION_SERVICE كل ما يلي:
  • التطبيق هو تطبيق نظام .
  • الغرض الوحيد من التطبيق هو رصد التطبيقات التي قد تتسبّب بضرر (التطبيقات التي قد تعرّض المستخدمين أو بياناتهم أو أجهزتهم للخطر، مثل أحصنة طروادة والتصيّد الاحتيالي وبرامج التجسّس) أو البرامج غير المرغوب فيها على الأجهزة الجوّالة.
  • يجب أن يستوفي التطبيق جميع المتطلبات الموضّحة في القسم 9.8.6 من مستند تعريف التوافق (CDD) لنظام التشغيل Android. البيانات على مستوى نظام التشغيل والبيانات المحيطة
  • يجب ألّا يطلب التطبيق الإذن العادي android.permission.INTERNET. بدلاً من ذلك، يجب أن يتصل بالإنترنت من خلال واجهات برمجة تطبيقات محدّدة جيدًا في مشروع برنامج مفتوح المصدر.
  • يجب ألا يرتبط التطبيق بتطبيقات أخرى، باستثناء تطبيقات النظام التالية: "أداة التحكّم في الأذونات" والمكوّنات التي توفّر واجهات برمجة تطبيقات "الاتصالات الهاتفية" و"الإنترنت". يجب إعداد كل عملية ربط مسموح بها بشكل صريح من خلال إعدادات <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 كل ما يلي:
  • التطبيق هو تطبيق نظام .
  • ويمكن للمصنّعين الأصليين للأجهزة فقط منح هذا الدور للتطبيق.
  • حالات الاستخدام المسموح بها:
    • بث التطبيقات من جهاز يعمل بنظام التشغيل Android، مثل هاتف جوّال أو جهاز لوحي، إلى مركبة
    • بث التطبيقات من جهاز يعمل بنظام التشغيل Android، مثل هاتف جوّال أو جهاز لوحي، إلى جهاز XR
  • عند إنشاء الاتصال الأولي من الجهاز "أ" إلى الجهاز "ب":
    • يجب السماح بالإقران من خلال رمز صالح لمرة واحدة يظهر على الجهاز المصدر (أ) ويتم إدخاله على الجهاز المتصل (ب). بدلاً من ذلك، إذا كان كلا الجهازَين يحتويان على حساب واحد على الأقل متطابق في Android AccountManager، يمكن للمستخدم تأكيد الإقران عن طريق إدخال كلمة مرور الحساب على الجهاز المتصل (ب).
    • يجب أن يكون كلا الجهازين قريبين 1 من بعضهما أثناء الإقران.
  • يجب أن يكون كلا الجهازين قريبين 1 من بعضهما أثناء البث.
  • يمكن للتطبيق إنشاء قنوات اتصال مع الأجهزة المتصلة وإدارتها لكي تتمكّن الأجهزة من تبادل البيانات. يجب أن تتم مصادقة التطبيق والأجهزة المتصلة بنجاح (على سبيل المثال، من خلال إثبات معرفتها بالمفاتيح المشتركة) لإنشاء قنوات الاتصال هذه. يجب أن تكون قنوات الاتصال محمية بالتشفير التام بين الأطراف.
  • يمكن للتطبيق إرسال إشعارات من الجهاز المصدر (أ) إلى الجهاز المتصل (ب) للسماح للمستخدم باتخاذ إجراء بشأن الإشعارات على الجهاز المتصل (ب).
  • أن يكون قادرًا على بث البيانات الوصفية اللازمة لبث التطبيق إلى الجهاز المتصل (ب)، مثل قائمة التطبيقات المتاحة على الجهاز المصدر (أ).
  • أن يكون بإمكانها بث التطبيقات من الجهاز المصدر (أ) إلى الجهاز المتصل (ب) بعد أن يشير المستخدم إلى تفضيله إجراء ذلك من خلال موافقة صريحة (إما على الجهاز المصدر (أ) أو على الجهاز المتصل (ب)).
  • إمكانية إعادة تشغيل (إدخال) الأحداث التي تقع على تطبيق بثّ على الجهاز المتصل (ب) مرة أخرى على الجهاز المصدر (أ). على سبيل المثال، إعادة تشغيل حدث لمس على الجهاز المتصل (ب) بالإحداثيات نفسها التي تم استخدامها على الجهاز المصدر (أ)، أو إعادة تشغيل حدث إدخال حدث على الجهاز المتصل (ب) بدلالات الإدخال نفسها التي تم استخدامها على الجهاز المصدر (أ).
  • يمكن للتطبيق استبدال مصدر بث الميكروفون في الجهاز المصدر بمصدر بث الميكروفون في الجهاز المتصل أثناء استخدام تطبيق بثّ للميكروفون.
  • يلتقط التطبيق الصوت من الجهاز المصدر (أ) ويبثّه إلى الجهاز المتصل (ب).
  • يُنصح بحظر الوصول إلى تطبيقات الإعدادات ومتاجر التطبيقات من الجهاز المتصل (ب).
  • بدءًا من الإصدار Android 16، يجب منع التقاط لقطات الشاشة وقراءة الشاشة للمحتوى الحسّاس، مثل النوافذ ومساحات العرض الآمنة، على الجهاز المتصل (ب).
  • يجب التحقّق من سلامة إصدار نظام التشغيل للجهاز المتصل (على سبيل المثال، باستخدام مصادقة الجهاز كما هو موضّح في VerifiedBootState).
  • يجب بث تطبيقات البثّ التي تحتوي على حساب واحد مطابق فقط في سجلّ الحسابات على الجهاز فقط (على سبيل المثال، AccountManager على Android) على كلا الجهازَين. وإذا لم يكن الأمر كذلك، يجب السماح بالبث باستخدام رمز صالح لمرة واحدة يظهر على الجهاز المصدر (أ) ويتم إدخاله على الجهاز المتصل (ب). يُرجى العِلم أنّه في حال الأجهزة التي تتيح استخدام حسابات متعددة (وليس حسابات متعددة) مع عزل البيانات الموثوقة نفسها كما هو الحال في ميزة تعدُّد المستخدمين في Android، يتم احتساب المستخدم كجهاز.
  • يجب إيقاف البث وقطع الاتصال بالجهاز المتصل (ب) على الفور إذا انتهت صلاحية مصادقة الحساب على الجهاز المتصل (ب) أو تم إبطالها.
  • يجب إيقاف البث وقطع الاتصال بالجهاز المتصل (ب) عند انتهاء مهلة عدم النشاط على الجهاز المتصل (ب) الذي يظهر عليه المحتوى المعروض. قد تُبقي شاشة الجهاز المتصل قيد التشغيل في حالات مثل WakeLock التي تُبقي شاشة جهاز Android قيد التشغيل. يجب أن تكون مهلة عدم النشاط متوفّرة. إذا لم يكن الجهاز المتصل (ب) يتضمّن مهلة عدم نشاط، يجب استخدام مهلة عدم نشاط مدتها 5 دقائق كحد أقصى.
  • إذا كان الجهاز المصدر (أ) يستخدم عامل المعرفة لشاشة القفل (LSKF)، عندما تكون الشاشة مقفلة، يجب ألا يبث التطبيق تطبيقات البث إلى جهاز متصل (ب) ما لم يكن الجهاز المتصل (ب) يحتوي على شاشة قفل وتم فتح قفله.
  • إذا كان الجهاز المصدر (أ) مُدارًا من قِبل مشرف، يجب أن يلتزم التطبيق بالسياسات التي يضعها المشرف بشأن تفعيل أو إيقاف البث إلى الأجهزة المجاورة (على سبيل المثال، باستخدام إعدادات DevicePolicyManager في Android).
  • يجب التأكّد من أنّ الشاشات البعيدة وجميع مصادر أحداث الإدخال عن بُعد تنتمي إلى الجهاز المنطقي نفسه (على سبيل المثال، شاشة بعيدة ولوحة مفاتيح متصلة) من منظور المستخدم، ويتم توجيه الأحداث وفقًا لذلك.
  • يجب أن يتمكّن المستخدم من إنهاء البث من الجهاز المصدر (أ)، على سبيل المثال، باستخدام زر في إشعار دائم. يتم التحكّم في هذا السلوك من خلال شاشة القفل، إذا كان الجهاز المصدر (أ) يحتوي على قفل شاشة. يجب عرض هذه الإشارة الثابتة على الجهاز المصدر (أ) بحيث تكون مرئية دائمًا وفي الجزء المرئي من الصفحة.
  • يجب أن يعرض الجهاز المصدر (أ) مؤشرًا على أنّ البث يتم على جهاز آخر، مثل رمز في شريط الحالة أو إشعار دائم.
WALLET أحد الخيارات التالية:
  • يحتوي التطبيق على خدمة NFC APDU التي تسجّل بشكل ثابت معرّف تطبيق واحدًا على الأقل في فئة الدفع.
  • يستخدم التطبيق مثيلاً من QuickAccessWalletService.

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