أدوار Android

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

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

الدور المتطلبات الأساسية
مساعد Google يجب استخدام أيّ مما يلي على الأقل:
  • يتضمّن التطبيق نشاطًا ينفّذ إجراءات داعمة استنادًا إلى المعلومات المتعلّقة بسياق المستخدم عندما طلب المساعدة (على سبيل المثال، اسم حزمة التطبيق الحالي الذي يعمل في المقدّمة ومعلوماته السياقية).
  • يتضمن التطبيق خدمة تفاعل صوتي قيد التشغيل دائمًا، ومحاطة بإذن android.permission.BIND_VOICE_INTERACTION، ويمكنها التعرّف على الصوت واستضافة جلسات تفاعل صوتي نشطة. بالإضافة إلى ذلك، يحتوي التطبيق على علامة واضحة تشير إلى أنّ الخدمة قادرة على معالجة إجراء المساعدة.
المتصفح كل ما يلي:
  • يحتوي التطبيق على نشاط يمكن للتطبيقات استدعاءه من خلال طلبات مقصودة ضمنية، والتي تعرض صفحة ويب مرتبطة بعنوان http://.
  • يحتاج التطبيق إلى التعامل مع التنقل بين الروابط. بعبارة أخرى، إذا كان المستخدم يستعرض صفحة ويب وينقر على عنوان http:// في النص، يجب أن يتمكن التطبيق من عرض المحتوى المتوافق مع الرابط المحدّد بدون تدخل إضافي من المستخدم.
  • يجب أن يتمكّن التطبيق من تقديم معلومات الموقع الجغرافي الحالية للجهاز إلى صفحات الويب عند طلبها وموافقة المستخدم على الطلب.
لوحة العرض كل ما يلي:
  • يحتوي التطبيق على نشاط يمكن للتطبيقات استدعاءه من خلال طلبات مقصودة ضمنية، والتي توفر واجهة مستخدم أثناء المكالمة أثناء إجراء مكالمة.
  • يمكن للتطبيق التعامل مع أغراض المكالمات الواردة، وعرض المعلومات المتعلّقة بالمكالمة (على سبيل المثال، رقم هاتف المتصل) للمستخدم والسماح للمستخدم بالردّ على المكالمة أو رفضها.
  • يوفّر التطبيق للمستخدم وسيلة لبدء المكالمات والاطّلاع على سجلّ المكالمات على جهازه.
الرسائل القصيرة (SMS) كل ما يلي:
  • يستوفي التطبيق جميع متطلبات تطبيقات الرسائل القصيرة.
  • يحتوي التطبيق على نشاط يمكن للتطبيقات استدعاءه من خلال طلبات مقصودة ضمنية يمكن أن ترسل رسالة إلى رقم هاتف.
  • يتضمّن التطبيق خدمة، محصورة بإذن android.permission.SEND_RESPOND_VIA_MESSAGE ولا يمكن استدعاءها بواسطة أغراض ضمنية، ويمكنها عرض الرسائل المُستلَمة من تطبيق "الهاتف" عندما يختار المستخدم الرد من خلال رسالة أثناء مكالمة واردة. يمكن للتطبيق تسليم الرسائل من خلال نظام المراسلة الخاص به.
  • يتوفّر في التطبيق جهازا استقبال للبث، أحدهما محصور بإذن android.permission.BROADCAST_SMS والآخر مغلق بإذن android.permission.BROADCAST_WAP_PUSH، بإمكانهما الاستماع إلى الرسائل النصية القصيرة ورسائل الوسائط المتعددة المرسَلة إلى الجهاز، على التوالي. بعد ذلك، يكون التطبيق مسؤولاً عن كتابة الرسائل إلى مقدّم خدمة الرسائل القصيرة وإشعار المستخدمين.
طوارئ كل ما يلي:
  • التطبيق عبارة عن تطبيق نظام .
  • يحتوي التطبيق على نشاط يعرض معلومات الطوارئ الخاصة بالمستخدم. يمكن لأي مستخدم الانتقال إلى هذه الشاشة من خلال زر "الطوارئ" ضِمن نشاط "برنامج الاتصال في حالات الطوارئ".
الصفحة الرئيسية يحتوي التطبيق على نشاط يمكنه تشغيل الشاشة الرئيسية عندما يضغط المستخدم على زر الشاشة الرئيسية. يجب أن تعرض الشاشة الرئيسية رموز التطبيقات والتطبيقات المصغّرة، كما أنّها تتيح إمكانية التنقّل استنادًا إلى الأزرار أو الإيماءات (على سبيل المثال، التمرير سريعًا للأعلى للاطّلاع على جميع التطبيقات).
CALL_REDIRECTION يتضمّن التطبيق خدمة يمكن أن يلتزم بها إطار عمل الاتصالات، ويجب الوصول إليها من خلال إذن android.permission.BIND_CALL_REDIRECTION_SERVICE. تتلقّى الخدمة رقم الهاتف الصادر من إطار عمل الاتصالات وتنفِّذ أحد الإجراءات التالية:
  • السماح بإجراء المكالمة كما هي.
  • يمكنك تغيير الرقم الصادر للتوجيه من خلال رقم خادم وكيل.
  • إلغاء المكالمة
CALL_SCREENING يتضمّن التطبيق خدمة محجوبة بإذن android.permission.BIND_SCREENING_SERVICE وتنفِّذ وظيفتَين:
  1. حظر المكالمات أو فحصها: يمكن للخدمة اختيار المكالمات التي يجب إرسالها إلى تطبيق برنامج الاتصال على الهاتف (وربما يرنّ عند ظهور ميزة DND أو مستوى الصوت)، كما يجب إرسالها إلى البريد الصوتي بدون تنبيه صوتي.
  2. التعرّف على المكالمة: يمكن للخدمة التعرّف على معلومات حول مكالمة وعرضها من خلال واجهة مستخدم.
SYSTEM_GALLERY كل ما يلي:
  • التطبيق عبارة عن تطبيق نظام .
  • يمكن للمصنّعين الأصليين للأجهزة فقط منح هذا الدور للتطبيق.
  • يوفّر التطبيق واجهة مستخدم تتيح للمستخدمين تخزين الفيديوهات والصور وتنظيمها وعرضها.
SYSTEM_AutoMOTIVE_cluster كل ما يلي:
  • هذا التطبيق هو تطبيق نظام على Automotive.
  • يمكن للمصنّعين الأصليين للأجهزة فقط منح هذا الدور للتطبيق.
  • يوفّر التطبيق وظيفة عرض مجموعة سيارات (بجانب عجلة القيادة عادةً) للمستخدمين للرد على المكالمات الهاتفية والوصول إلى قوائم جهات الاتصال وسجلات المكالمات.
COMPANION_DEVICE_watch يمكن للتطبيق إرسال طلبات لربط جهاز ساعة وإدارته (باستخدام واجهة برمجة التطبيقات التي توفّرها فئة CompanionDeviceManager). بعد ربط الساعة والتطبيق من خلال واجهة المستخدم التي يوفّرها التطبيق، يمكن للمستخدمين إدارة الساعة من خلال التطبيق، بما في ذلك مزامنة جهات الاتصال والتقويم وإدارة الإشعارات والمكالمات الهاتفية.
SYSTEM_autoMOTIVE_PROJECTION كل ما يلي:
  • التطبيق عبارة عن تطبيق نظام .
  • يمكن للمصنّعين الأصليين للأجهزة فقط منح هذا الدور للتطبيق.
  • يتيح التطبيق عرض شاشة الهاتف على شاشة المركبة. تتيح هذه الخدمة للسائقين الوصول إلى التطبيقات على هواتف Android والتحكّم بها، بما في ذلك الموسيقى والتنقّل والمكالمات الهاتفية و"بحث Google"، وذلك باستخدام آليات الإدخال في المركبة، بما في ذلك عناصر التحكّم باللمس وعجلة القيادة والأوامر الصوتية.
SYSTEM_SHELL كل ما يلي:
  • التطبيق هو تطبيق نظام يتم تخصيص المعرّف الفريد Process.SHELL_UID الخاص به.
  • يمكن للمصنّعين الأصليين للأجهزة فقط منح هذا الدور للتطبيق.
  • يوفّر التطبيق واجهة تعمل على مستوى سطر الأوامر حتى يتمكّن المستخدمون من التفاعل مع نظام التشغيل Android. على سبيل المثال، عرض محتوى مجلد أو تشغيل التطبيقات. يمكن تنفيذ أوامر واجهة المستخدم آليًا من خلال التطبيقات (حيث تم منح الأذونات اللازمة) أو من أداة ADB.
جهات اتصال SYSTEM كل ما يلي:
  • التطبيق عبارة عن تطبيق نظام .
  • يمكن للمصنّعين الأصليين للأجهزة فقط منح هذا الدور للتطبيق.
  • يوفّر التطبيق واجهة مستخدم تتيح للمستخدمين إدارة جهات اتصالهم (على سبيل المثال، عرض جهة اتصال أو مشاركتها أو إضافتها أو إزالتها أو البحث عنها). يحدِّث التطبيق مقدّم خدمة "جهات الاتصال" عندما يعدِّل المستخدم جهات الاتصال من التطبيق. ويمكن للمستخدمين أيضًا الاتصال بجهات الاتصال أو إرسال رسائل إلكترونية أو إرسال رسائل نصية إليها من التطبيق.
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_مين كل ما يلي:
  • التطبيق عبارة عن تطبيق نظام .
  • يمكن للمصنّعين الأصليين للأجهزة فقط منح هذا الدور للتطبيق.
  • يجب أن يتمكّن التطبيق من رصد الأجهزة الملحقة في الجوار. ويجب أن تحتوي على واجهة مستخدم تتيح للمستخدم تأكيد وجوب ربط جهاز ملحق معيّن بأحد التطبيقات وإدارته. وبعد أن يؤكِّد ذلك المستخدم، يمنح التطبيق الإداري الإذن للتطبيق المرتبط بالوصول إلى الجهاز الملحق (مثل اسمه وعنوانه وفئته وحالة الربط)، وبالتالي يمكن لهذا الجهاز بدء عملية الربط.
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. بدلاً من ذلك، عليه الوصول إلى الإنترنت من خلال واجهات برمجة تطبيقات محدَّدة بوضوح في مشروع مفتوح المصدر.
  • ولا يمكن الربط بالتطبيقات، باستثناء تطبيقات النظام التالية: البلوتوث وجهات الاتصال والوسائط والاتصال الهاتفي وواجهة مستخدم النظام والمكوّنات التي توفّر واجهات برمجة تطبيقات الإنترنت. يجب إعداد كل عملية ربط مسموح بها بشكل صريح من خلال إعدادات <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 كل ما يلي:
  • التطبيق عبارة عن تطبيق نظام .
  • يمكن للمصنّعين الأصليين للأجهزة فقط منح هذا الدور للتطبيق.
  • يمكن للتطبيق إنشاء قنوات اتصال وإدارتها باستخدام الأجهزة المتصلة ليتمكّنوا من تبادل البيانات. يجب أن يعمل التطبيق والأجهزة المتصلة على مصادقة بعضهما بنجاح (على سبيل المثال، من خلال إثبات معرفتهما بالمفاتيح المشتركة) لإنشاء قنوات الاتصال هذه. ويجب أن تخضع قنوات الاتصال للحماية من التشفير.
  • يمكن للتطبيق إرسال إشعارات من الجهاز المحلي إلى الجهاز المتصل للسماح للمستخدم باتخاذ إجراء بشأن الإشعارات على الجهاز المتصل.
  • أن تكون قادرًا على بث البيانات الوصفية اللازمة لبث التطبيق على الجهاز المتصل، مثل قائمة التطبيقات المتاحة على الجهاز المحلي
  • أن تكون قادرًا على بث التطبيقات من الجهاز المحلي إلى الجهاز المتصل بعد أن يشير المستخدم إلى تفضيله إجراء ذلك بموافقة صريحة (إما عبر الهاتف أو على الجهاز المتصل)
  • القدرة على إعادة تشغيل (إدخال) الأحداث التي تقع على تطبيق يتم بثه على جهاز متصل مرة أخرى على الجهاز المحلي. على سبيل المثال، إعادة تشغيل حدث لمس على الجهاز اللوحي بالإحداثيات نفسها على الهاتف.
  • يمكن للتطبيق استبدال بث ميكروفون الجهاز المحلي ببث ميكروفون جهاز متصل أثناء استخدام الميكروفون في أحد التطبيقات التي يتم بثها.
  • يلتقط التطبيق الصوت من الجهاز ويبثه إلى الجهاز المتصل.
  • يجب حظر بث كاميرا الجهاز المحلي أثناء استخدام الكاميرا أحد التطبيقات التي يتم بثها.
  • يجب التحقّق من سلامة إصدار نظام التشغيل للجهاز المتصل (على سبيل المثال، باستخدام مصادقة الجهاز كما في VerifiedBootState).
  • بث التطبيقات فقط التي يتوفر فيها حساب مطابق واحد فقط في قاعدة بيانات المسجّلين على الجهاز (مثل AccountManager على أجهزة Android) وإذا لم يحدث ذلك، يجب السماح بالبث باستخدام رمز يُستخدم لمرة واحدة، ويظهر على الجهاز المصدر ويُدخله على الجهاز المتصل. يُرجى العِلم بأنّه في حال الأجهزة التي تتوافق مع عدة مستخدمين (وليس الحسابات المتعددة) التي تُجري عزل البيانات الموثوق به كما هو الحال في نظام التشغيل المتعدد المستخدمين على Android، يتم احتساب المستخدم كجهاز.
  • يجب إيقاف البث وقطع الاتصال بجهاز متصل فورًا في حال انتهاء صلاحية مصادقة الحساب على الجهاز المتصل أو إبطاله.
  • يجب التأكد من أنّ الجهاز المتصل ضمن نطاق البلوتوث للجهاز المحلي قبل البث وأثناءه.
  • يجب إلغاء ربط جلسات بث التطبيقات المستمرة إذا لم يتفاعل المستخدم مع الجهاز المتصل لمدة 5 دقائق (على سبيل المثال، لوحة المفاتيح والشاشة التي تعمل باللمس والماوس غير نشطة). تُستثنى تطبيقات بث الفيديو من هذا الشرط.
  • إذا كان الجهاز المصدر يستخدم معيار معرفة شاشة القفل (LSKF)، عندما تكون الشاشة مقفلة، يجب ألا يبث التطبيق التطبيقات إلى جهاز متصل ما لم يتضمّن شاشة قفل ويتم فتح قفله.
  • إذا كان الجهاز يديره مشرف، يجب أن يلتزم التطبيق بالسياسات التي وضعها المشرف بشأن تفعيل بث التطبيقات على الأجهزة المجاورة أو إيقافه (على سبيل المثال، استخدام إعدادات DevicePolicyManager في Android).
  • يجب التأكد من أنّ العرض عن بُعد وجميع مصادر أحداث الإدخال عن بُعد تنتمي إلى الجهاز المنطقي نفسه (مثل شاشة عن بُعد ولوحة مفاتيح متصلة) من منظور المستخدم، وسيتم توجيه الأحداث وفقًا لذلك.
  • يجب أن يتمكّن المستخدم من إنهاء البث من الجهاز المحلي، على سبيل المثال، باستخدام زر في إشعار دائم. يتوقّف هذا السلوك عن طريق شاشة القفل، إذا كان الهاتف قد تم ضبط قفل شاشة له.
  • يجب أن يعرض عنصر وظيفي على الجهاز المصدر أثناء البث على جهاز آخر، مثل رمز في شريط الحالة أو إشعار دائم.
DEVICE_POLICY_MANAGEMENT كل ما يلي:
  • لا يمكن إلا للمصنّعين الأصليين للأجهزة منح هذا الدور للتطبيق. ولا يمكن للتطبيقات طلب هذا الدور لأنّه من المفترض أن يتم منحه "بشكل غير تقليدي" لاسم الحزمة الذي يحدّده المصنّع الأصلي للجهاز عند شحن الجهاز.
  • يجب أن يتمكن التطبيق من إدارة ملف شخصي مُدار (مالك الملف الشخصي) أو جهاز مُدار (مالك الجهاز)، بما في ذلك تنزيل/تثبيت برنامج Device Policy المناسب ليكون مالك الجهاز/الملف الشخصي إذا لزم الأمر.
  • قد يُجري التطبيق تعديلاً ديناميكيًا للموارد، مثل السلاسل والعناصر القابلة للرسم المستخدَمة لإدارة سياسات الجهاز، وذلك اختياريًا.
  • قد يكون التطبيق إما مثبّتًا مسبقًا على نظام التشغيل أو يمكن تنزيله وتثبيته قبل توفير المتطلبات اللازمة.
  • بالنسبة إلى حالات توفير المتطلبات اللازمة لمالك الملف الشخصي، عند تثبيت تطبيق صاحب الدور على مستخدم Android معيّن، يجب تثبيته على جميع الملفات الشخصية السارية لهذا المستخدم.
SYSTEM_APP_PROTECTION_SERVICE كل ما يلي:
  • التطبيق عبارة عن تطبيق نظام .
  • والغرض الوحيد من التطبيق هو رصد التطبيقات التي قد تتسبّب بضرر (التطبيقات التي قد تعرِّض المستخدمين أو بيانات المستخدمين أو الأجهزة للخطر مثل أحصنة طروادة والتصيّد الاحتيالي وبرامج التجسس) أو البرامج غير المرغوب فيها على الأجهزة الجوّالة.
  • يجب أن يستوفي التطبيق جميع المتطلبات الموضّحة في قسم Android CDD 9.8.6. البيانات على مستوى نظام التشغيل والبيانات المحيطة
  • يجب ألا يتضمّن بيانًا لإذن android.permission.INTERNET العادي. بدلاً من ذلك، عليه الوصول إلى الإنترنت من خلال واجهات برمجة تطبيقات محدَّدة بوضوح في مشروع مفتوح المصدر.
  • يجب ألا ترتبط هذه التطبيقات بالتطبيقات، باستثناء تطبيقات النظام التالية: "وحدة التحكّم في الأذونات" والمكوّنات التي توفّر واجهات برمجة تطبيقات خدمات الاتصال الهاتفي والإنترنت. يجب إعداد كل عملية ربط مسموح بها بشكل صريح من خلال إعدادات <allow-association> في إعدادات النظام.
  • يجب عدم مشاركة البيانات مع التطبيقات ما لم يكن هناك إجراء مباشر من المستخدم (على سبيل المثال، يضغط المستخدم صراحةً على زر في كل مرة تتم فيها مشاركة البيانات).
SYSTEM_AutoMOTIVE_CALENDAR_SYNC_MANAGER كل ما يلي:
  • التطبيق عبارة عن تطبيق نظام .
  • يمكن للمصنّعين الأصليين للأجهزة فقط منح هذا الدور للتطبيق.
  • يجب نقل بيانات التقويم من هاتف iOS أو Android الخاص بالمستخدم إلى جهاز Android Auto. يجب أن يخزِّن جهاز Android Auto بيانات التقويم هذه في موفّر التقويم.
  • يجب أن يوفّر التطبيق مكوّنًا لواجهة المستخدم على الهاتف يمكن للمستخدم استخدامه لتفعيل مزامنة التقويم واختيار التقاويم المطلوب مزامنتها. يجب أن يوفّر التطبيق عنصر واجهة مستخدم على الهاتف يمكن للمستخدم استخدامه لإيقاف مزامنة التقويم.
  • يجب أن تعمل بدون اتصال بالإنترنت. على سبيل المثال، باستخدام توصيلات سلكية أو لاسلكية مباشرة.
autoMOTIVE_NAVIGATION كل ما يلي:
  • يحتوي التطبيق على نشاط يمكن للتطبيقات استدعاءه من خلال طلبات مقصودة ضمنية تعرض الموقع الجغرافي الحالي للمستخدم ومحيطه.
  • يحتوي التطبيق على نشاط يمكن للتطبيقات استدعاءه من خلال طلبات مقصودة ضمنية، ما يتيح للمستخدم الانتقال إلى موقع جغرافي محدّد.
  • يتضمّن نشاطًا تم إطلاقه في مجموعة الأدوات عندما يكون التطبيق تركيز التنقّل. ويجب أن يعرض النشاط الموقع الجغرافي الحالي للمستخدم والمناطق المحيطة به والسماح له بالانتقال إلى موقع جغرافي محدّد.
COMPANION_DEVICE_COMPUTER كل ما يلي:
  • التطبيق عبارة عن تطبيق نظام .
  • يمكن للمصنّعين الأصليين للأجهزة فقط منح هذا الدور للتطبيق.
  • يمكنك السماح للمستخدمين بعكس الإشعارات والوصول إلى الصور والوسائط من الهاتف على كمبيوتر متصل.
SYSTEM_SETTINGS_INTELLIGENCE يجب استخدام أيّ مما يلي على الأقل:
  • التطبيق عبارة عن تطبيق نظام .
  • يمكن للمصنّعين الأصليين للأجهزة فقط منح هذا الدور للتطبيق.
  • لديه خدمة توفّر ميزات ذكية لتطبيق "الإعدادات"، مثل الاقتراحات والبحث.
ملاحظات كل ما يلي:
  • يحتوي التطبيق على نشاط يمكن للتطبيقات استدعاءه من خلال طلبات مقصودة ضمنية. ويتيح النشاط للمستخدم إنشاء ملاحظة بغض النظر عما إذا كانت الشاشة مقفلة أو مفتوحة.
  • يجب أن يتيح التطبيق ذلك من خلال توفُّر نشاط يتضمّن فلتر أهداف لـ 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 كل ما يلي:
  • التطبيق عبارة عن تطبيق نظام .
  • يمكن للمصنّعين الأصليين للأجهزة فقط منح هذا الدور للتطبيق.
  • يمكن للتطبيق إنشاء قنوات اتصال وإدارتها باستخدام أجهزة متصلة حتى تتمكن الأجهزة من تبادل البيانات. يجب أن يثبت التطبيق والأجهزة المتصلة بعضهما بنجاح (على سبيل المثال، من خلال إثبات معرفتهما بالمفاتيح المشتركة) لإنشاء قنوات الاتصال هذه. ويجب أن تخضع قنوات الاتصال للحماية من التشفير.
  • يمكن للتطبيق إرسال إشعارات من الجهاز المحلي إلى الجهاز المتصل للسماح للمستخدم باتخاذ إجراء بشأن الإشعارات على الجهاز المتصل.
  • أن تكون قادرًا على بث البيانات الوصفية اللازمة لبث التطبيق على الجهاز المتصل، مثل قائمة التطبيقات المتاحة على الجهاز المحلي
  • أن تكون قادرًا على بث التطبيقات من الجهاز المحلي إلى الجهاز المتصل بعد أن يشير المستخدم إلى تفضيله إجراء ذلك بموافقة صريحة (إما عبر الهاتف أو على الجهاز المتصل)
  • القدرة على إعادة تشغيل (إدخال) الأحداث التي تقع على تطبيق يتم بثه على جهاز متصل مرة أخرى على الجهاز المحلي. على سبيل المثال، إعادة تشغيل حدث لمس على الجهاز اللوحي بالإحداثيات نفسها على الهاتف، أو إعادة تشغيل حدث إدخال حدث على جهاز النظارات باستخدام دلالات الإدخال نفسها كما في الهاتف.
  • يمكن للتطبيق استبدال بث ميكروفون الجهاز المحلي ببث ميكروفون جهاز متصل أثناء استخدام الميكروفون في أحد التطبيقات التي يتم بثها.
  • يلتقط التطبيق الصوت من الجهاز ويبثه إلى الجهاز المتصل.
  • يجب التحقّق من سلامة إصدار نظام التشغيل للجهاز المتصل (على سبيل المثال، باستخدام مصادقة الجهاز كما في VerifiedBootState).
  • بث التطبيقات فقط التي يتوفر فيها حساب واحد مطابق في قاعدة بيانات المسجّلين في الحساب على الجهاز (مثل AccountManager على أجهزة Android) وإذا لم يكن الأمر كذلك، يجب السماح بالبث باستخدام رمز يُستخدم لمرة واحدة، ويظهر على الجهاز المصدر ويُدخله على الجهاز المتصل. يُرجى العِلم أنّه في حال الأجهزة التي تتوافق مع عدة مستخدمين (وليست حسابات متعددة) تستخدم ميزة العزل المضمون نفسها للبيانات كما هو الحال في نظام التشغيل المتعدد المستخدمين على Android، يتم احتساب المستخدم كجهاز.
  • يجب إيقاف البث وقطع الاتصال بجهاز متصل فورًا في حال انتهاء صلاحية مصادقة الحساب على الجهاز المتصل أو إبطاله.
  • إذا كان الجهاز المصدر يستخدم معيار معرفة شاشة القفل (LSKF)، عندما تكون الشاشة مقفلة، يجب ألا يبث التطبيق التطبيقات إلى جهاز متصل ما لم يتضمّن شاشة قفل ويتم فتح قفله.
  • إذا كان الجهاز يديره مشرف، يجب أن يلتزم التطبيق بالسياسات التي وضعها المشرف بشأن تفعيل البث أو إيقافه على الأجهزة المجاورة (على سبيل المثال، استخدام إعدادات DevicePolicyManager في Android).
  • يجب التأكد من أنّ العرض عن بُعد وجميع مصادر أحداث الإدخال عن بُعد تنتمي إلى الجهاز المنطقي نفسه (مثل شاشة عن بُعد ولوحة مفاتيح متصلة) من منظور المستخدم، كما يتم توجيه الأحداث وفقًا لذلك.
  • يجب أن يتمكّن المستخدم من إنهاء البث من الجهاز المحلي، على سبيل المثال، باستخدام زر في إشعار دائم. يتوقّف هذا السلوك عن طريق شاشة القفل، إذا كان الهاتف قد تم ضبط قفل شاشة له.
  • يجب أن يعرض عنصر وظيفي على الجهاز المصدر أثناء البث على جهاز آخر، مثل رمز في شريط الحالة أو إشعار دائم.