على الأجهزة التي تعمل بالإصدار 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.testSystemCameraDiscovery
CTS.
يتم إجراء جميع اختبارات CTS للكاميرا على أجهزة كاميرا النظام.