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

على الأجهزة التي تعمل بالإصدار 11 من نظام التشغيل Android أو الإصدارات الأحدث، يتيح إطار عمل Android استخدام كاميرات النظام، وهي كاميرات لا تظهر إلا للعمليات التي لديها إذن android.permission.SYSTEM_CAMERA وأذونات الكاميرا العادية. إذن android.permission.SYSTEM_CAMERA الذي تم طرحه في Android 11 له مستوى حماية هو 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) للكاميرا على أجهزة كاميرا النظام.