كاميرات النظام

على الأجهزة التي تعمل بالإصدار 11 من نظام التشغيل Android أو الإصدارات الأحدث، يتيح إطار عمل Android استخدام كاميرات النظام، وهي أجهزة كاميرا لا تظهر إلا للعمليات التي لديها إذن android.permission.SYSTEM_CAMERA وأذونات الكاميرا العادية. تم طرح الإذن android.permission.SYSTEM_CAMERA في الإصدار 11 من نظام التشغيل Android، ويتمتع بمستوى حماية system|signature. وهذا يعني أنّه لا يمكن منح هذا الإذن إلا للتطبيقات المثبَّتة في قسم النظام أو التي تم توقيعها باستخدام الشهادة نفسها المستخدَمة في النظام. لا يمكن للتطبيقات العامة التابعة لجهات خارجية الوصول إلى كاميرات النظام.

تكون كاميرات النظام مفيدة لمصنّعي الأجهزة الذين يريدون تنفيذ ميزات تتطلّب الوصول إلى كاميرا ولكنها تقتصر أيضًا على التطبيقات ذات الأذونات المميزة أو تطبيقات النظام.

بما أنّ تطبيقات النظام التي تم منحها إذن android.permission.SYSTEM_CAMERA يجب أن يكون لديها أيضًا إذن android.permission.CAMERA، يمكن للمستخدمين اختيار إبطال أذونات CAMERA العادية لمنع تطبيق من هذا النوع من الوصول إلى الكاميرات على الجهاز.

التنفيذ

لتحويل جهاز كاميرا معيّن إلى كاميرا نظام، يجب أن يعلن HAL الخاص بالكاميرا عن ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA في قائمة إمكاناته.

لإنشاء تطبيق يمكنه الوصول إلى كاميرا النظام، يجب إدراج التطبيق في القائمة المسموح بها في ملف privapp-permissions.xml الخاص بالجهاز، والذي يحدّد التطبيقات التي يجب منحها الإذن android.permission.SYSTEM_CAMERA.

التحقُّق

للتأكّد من أنّه لا يمكن لأي تطبيق عام اكتشاف كاميرات النظام على الجهاز، شغِّل اختبار android.permission.cts.Camera2PermissionTest.testSystemCameraDiscoveryCTS.

يتم إجراء جميع اختبارات CTS للكاميرا على أجهزة كاميرا النظام.