أدوار 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، ويمكنه الاستماع إلى الرسائل القصيرة النصية ورسائل الوسائط المتعددة المُرسَلة إلى الجهاز، على التوالي. بعد ذلك، يكون التطبيق مسؤولاً عن كتابة الرسائل وإرسالها إلى مقدّم خدمة الرسائل القصيرة وإرسال إشعارات إلى المستخدمين.
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. على سبيل المثال، عرض محتويات مجلد أو تشغيل تطبيقات يمكن تنفيذ أوامر واجهة المستخدم آليًا من خلال التطبيقات (حيث تم منح الأذونات اللازمة) أو من أداة 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 كلّ من:
  • التطبيق هو تطبيق نظام .
  • يمكن لمصنّعي الأجهزة الأصليين فقط منح هذا الدور للتطبيق.
  • يتضمّن التطبيق نشاطًا يتيح للمستخدمين الوصول إلى المستندات الحالية وإنشاء مستندات جديدة على الجهاز.
  • يجب أن يستوفي التطبيق جميع المتطلبات الموضّحة في قسم Android CDD 2.2.3. البرامج ضمن العنوان [3.2.3.1/H-0-1].
SYSTEM_ACTIVITY_RECOGNIZER كلّ من:
  • التطبيق هو تطبيق نظام .
  • يحتوي التطبيق على خدمة مفروض عليها قيود تتعلّق بـ android.permission.ACTIVITY_RECOGNITION، ويمكن أن تؤدي هذه الخدمة إلى التعرّف على النشاط (مثل الركض أو ركوب الدراجة).
SYSTEM_UI كلّ من:
  • التطبيق هو تطبيق نظام .
  • يمكن لمصنّعي الأجهزة الأصليين فقط منح هذا الدور للتطبيق.
  • يحتوي التطبيق على واجهة للمستخدمين للتفاعل مع هواتفهم. على سبيل المثال، الشاشة الرئيسية للهاتف والتنقّل والتطبيقات الحديثة والإعدادات السريعة وشريط الإشعارات وقفل الشاشة وعناصر التحكّم في مستوى الصوت
SYSTEM_TELEVISION_REMOTE_SERVICE كلّ من:
  • التطبيق هو تطبيق نظام على Android TV.
  • يمكن لمصنّعي الأجهزة الأصليين فقط منح هذا الدور للتطبيق.
  • يتضمن التطبيق خدمة يمكنها الاتصال بجهاز HID للتحكّم عن بُعد في التلفزيون (على سبيل المثال، عبر تقنية BLE)، وإدخال أحداث (مثل النقرات على الأزرار)، وإرسال بيانات أخرى إلى المنصة (مثل البث الصوتي من ميكروفون مضمّن في جهاز التحكّم عن بُعد).
SYSTEM_UI_INTELLIGENCE كلّ من:
  • خدمة مثبَّتة مسبقًا توفّر من خلال واجهات برمجة التطبيقات لإطار العمل (واجهات برمجة التطبيقات العامة أو واجهات برمجة التطبيقات الخاصة بالنظام) معالجًا ذكيًا على الجهاز لميزات واجهة المستخدم الخاصة بالنظام (مثل توقّع التطبيقات التالية وعرضها للمستخدمين).
  • يجب أن تستوفي الخدمة جميع المتطلبات الموضّحة في قسم 9.8.6 تسجيل المحتوى في Android CDD.
  • لا يمكن أن تحصل الخدمة على الإذن android.permission.INTERNET. بدلاً من ذلك، عليه الوصول إلى الإنترنت من خلال واجهات برمجة تطبيقات محدَّدة بوضوح في مشروع مفتوح المصدر.
  • لا يمكن ربط الخدمة بالتطبيقات، باستثناء تطبيقات النظام التالية: Bluetooth و"جهات الاتصال" و"الوسائط" و"الهاتف" و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
    يجب فصل جميع الأجهزة الافتراضية عند انتهاء مهلة الخمول للجهاز البعيد الذي يظهر عليه محتوى الشاشة. وقد يستمر تشغيل شاشة الجهاز البعيد في الحالات التي تُبقي فيها شاشة جهاز Android مشغّلة، مثل WakeLock. يجب أن يكون هناك مهلة وقت انتظار في حالة عدم النشاط. إذا لم يكن جهاز التحكّم عن بُعد لديه مهلة وقت الاستراحة بحد ذاتها، يجب استخدام مهلة وقت استراحة لا تزيد عن 5 دقائق.
  • إذا كان الجهاز المصدر يستخدم معيار معرفة شاشة القفل (LSKF)، عندما تكون الشاشة مقفلة، يجب ألا يبث التطبيق التطبيقات إلى جهاز متصل ما لم يتضمّن شاشة قفل ويتم فتح قفله.
  • إذا كان الجهاز يديره مشرف، يجب أن يلتزم التطبيق بالسياسات التي وضعها المشرف بشأن تفعيل بث التطبيقات على الأجهزة المجاورة أو إيقافه (على سبيل المثال، استخدام إعدادات DevicePolicyManager في Android).
  • يجب التأكد من أنّ العرض عن بُعد وجميع مصادر أحداث الإدخال عن بُعد تنتمي إلى الجهاز المنطقي نفسه (مثل شاشة عن بُعد ولوحة مفاتيح متصلة) من منظور المستخدم، كما يجب توجيه الأحداث وفقًا لذلك.
  • يجب أن يتمكّن المستخدم من إنهاء البث من الجهاز المحلي، على سبيل المثال، باستخدام زر في إشعار دائم. يتم حظر هذا السلوك من خلال شاشة القفل، إذا كان الهاتف مزوّدًا بقفل شاشة. بدءًا من الإصدار Android 15، يجب أن يُظهر هذا التوافق المستمر على الجهاز المحلي الذي يكون مرئيًا دائمًا وفي الجزء المرئي من الصفحة.
  • يجب أن يعرض الجهاز المصدر رمزًا يشير إلى إمكانية البث على جهاز آخر، مثل رمز في شريط الحالة أو إشعار دائم.
DEVICE_POLICY_MANAGEMENT كلّ من:
  • يمكن فقط للمصنعين الأصليين للأجهزة منح هذا الدور للتطبيق. ولا يمكن للتطبيقات طلب هذا الدور لأنّه من المفترض أن يتم منحه تلقائيًا لاسم الحزمة الذي حدّده المصنّع الأصلي للجهاز عند شحن الجهاز.
  • يجب أن يتمكّن التطبيق من إدارة ملف شخصي مُدار (مالك الملف الشخصي) أو جهاز مُدار (مالك الجهاز)، بما في ذلك تنزيل برنامج Device Policy المناسب وتثبيته ليكون مالك الجهاز/الملف الشخصي إذا لزم الأمر.
  • يمكن للتطبيق أن يعدّل الموارد بشكل ديناميكي، مثل السلاسل والعناصر القابلة للرسم المستخدَمة لإدارة سياسات الجهاز.
  • يمكن أن يكون التطبيق تطبيقًا مُثبَّتًا مسبقًا على النظام أو يتم تنزيله وتثبيته قبل توفيره.
  • بالنسبة إلى حالات توفير المتطلبات اللازمة لمالك الملف الشخصي، عند تثبيت تطبيق صاحب الدور على مستخدم Android معيّن، يجب تثبيته على جميع الملفات الشخصية السارية لهذا المستخدم.
SYSTEM_APP_PROTECTION_SERVICE كل ما يلي:
  • التطبيق عبارة عن تطبيق نظام .
  • الغرض الوحيد من التطبيق هو رصد التطبيقات المشتبه بأنّها ضارة (التطبيقات التي قد تعرِّض المستخدمين أو بياناتهم أو أجهزتهم للخطر، مثل برامج الخداع والتصيّد الاحتيالي وبرامج التجسّس) أو البرامج غير المرغوب فيها على الأجهزة الجوّالة.
  • يجب أن يستوفي التطبيق جميع المتطلبات الموضّحة في قسم 9.8.6 من "سياسة تطوير البرامج" في 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 كل ما يلي:
  • التطبيق هو تطبيق نظام .
  • يمكن لمصنّعي الأجهزة الأصليين فقط منح هذا الدور للتطبيق.
  • بدءًا من الإصدار 15 من Android
    عند إجراء عملية الربط الأولي من الجهاز "أ" إلى الجهاز "ب":
    يجب أن يتضمّن كلا الجهازَين حسابًا مطابقًا واحدًا على الأقل في "AccountManager"، ويجب تأكيد عملية الربط باستخدام رمز صالح لمرة واحدة.
    • على المستخدم تأكيد كلمة مرور الحساب على الجهاز الثانوي البعيد عند إقران الأجهزة، أو
    • يجب عرض الرمز المُستخدَم لمرة واحدة على الجهاز المصدر وإدخاله على الجهاز المتصل.
    • ما مِن متطلبات للنطاق أثناء البث.

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