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

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