सिस्टम कैमरा

एंड्रॉइड 11 या उच्चतर चलाने वाले उपकरणों पर, एंड्रॉइड फ्रेमवर्क सिस्टम कैमरों का समर्थन करता है, जो कैमरा डिवाइस हैं जो केवल android.permission.SYSTEM_CAMERA अनुमति और नियमित कैमरा अनुमतियों के साथ प्रक्रियाओं के लिए दृश्यमान होते हैं। Android 11 में पेश की गई android.permission.SYSTEM_CAMERA अनुमति में 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 परीक्षण चलाएँ।

सभी कैमरा सीटीएस परीक्षण सिस्टम कैमरा उपकरणों पर चलते हैं।