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