एंड्रॉइड 11 या उच्चतर चलाने वाले उपकरणों पर, एंड्रॉइड फ्रेमवर्क सिस्टम कैमरों का समर्थन करता है, जो कैमरा डिवाइस हैं जो केवल android.permission.SYSTEM_CAMERA
अनुमति और नियमित कैमरा अनुमतियों के साथ प्रक्रियाओं के लिए दृश्यमान हैं। android.permission.SYSTEM_CAMERA
अनुमति, Android 11 में पेश की गई, में system|signature
। इसका मतलब यह है कि केवल सिस्टम पार्टीशन पर इंस्टॉल किए गए या उसी प्रमाणपत्र के साथ हस्ताक्षर किए गए ऐप्स को ही सिस्टम को यह अनुमति दी जा सकती है। तृतीय-पक्ष सार्वजनिक ऐप्स सिस्टम कैमरों तक नहीं पहुंच सकते।
सिस्टम कैमरे डिवाइस निर्माताओं के लिए उपयोगी होते हैं जो उन सुविधाओं को लागू करना चाहते हैं जिनके लिए कैमरे तक पहुंच की आवश्यकता होती है लेकिन विशेषाधिकार प्राप्त या सिस्टम ऐप्स तक भी सीमित होती है।
क्योंकि सिस्टम ऐप्स जिन्हें android.permission.CAMERA
अनुमति दी गई है, उनके पास android.permission.SYSTEM_CAMERA
अनुमति भी होनी चाहिए, उपयोगकर्ता ऐसे ऐप को डिवाइस पर कैमरों तक पहुँचने से रोकने के लिए सामान्य CAMERA
अनुमतियों को रद्द करना चुन सकते हैं।
कार्यान्वयन
किसी विशेष कैमरा डिवाइस को सिस्टम कैमरा बनाने के लिए, कैमरा HAL को अपनी क्षमताओं की सूची में ANDROID_REQUEST_AVAILABLE_CAPABILITIES_SYSTEM_CAMERA
का विज्ञापन करना होगा।
ऐसा ऐप बनाने के लिए जिसके पास सिस्टम कैमरा तक पहुंच है, ऐप को डिवाइस-विशिष्ट privapp-permissions.xml
फ़ाइल में श्वेतसूची में होना चाहिए, जो उन ऐप्स को निर्दिष्ट करता है जिन्हें android.permission.SYSTEM_CAMERA
अनुमति दी जानी चाहिए।
मान्यकरण
यह सत्यापित करने के लिए कि डिवाइस पर कोई सिस्टम कैमरा सार्वजनिक ऐप द्वारा नहीं खोजा जा सकता है, android.permission.cts.Camera2PermissionTest.testSystemCameraDiscovery
CTS परीक्षण चलाएँ।
सभी कैमरा सीटीएस परीक्षण सिस्टम कैमरा उपकरणों पर चलते हैं।