Android Camera Service

Android Camera Service (ACS) में, ऑटोमोटिव डिवाइसों के साथ-साथ अन्य साइज़, डाइमेंशन या कॉन्फ़िगरेशन वाले डिवाइसों में इस्तेमाल किया जाने वाला कैमरा स्टैक शामिल होता है. जैसे, मोबाइल फ़ोन, टैबलेट, और टीवी. कैमरे के पूरे आर्किटेक्चर को देखने के लिए, कैमरा लेख पढ़ें. इस पेज पर, ऑटोमोटिव डिवाइसों से जुड़े विषयों और Android Camera API के साथ काम करने के बारे में जानकारी दी गई है.

Android Camera Service चालू करना

ऑटोमोटिव प्लैटफ़ॉर्म पर Android Camera Service चालू करने के लिए, प्रॉडक्ट के मेकफ़ाइल में ENABLE_CAMERA_SERVICE को true के तौर पर तय करना ज़रूरी है.

ऑटोमोटिव डिवाइसों के लिए कैमरे की खास विशेषताएं

ऑटोमोटिव डिवाइसों के मामले में, कैमरा HAL में ऑटोमोटिव डिवाइसों के साइज़, डाइमेंशन या कॉन्फ़िगरेशन के हिसाब से दो खास विशेषताएं शामिल होनी चाहिए:

आइटम ब्यौरा
android.automotive.location इससे, वाहन के बॉडी फ़्रेम के हिसाब से कैमरों की पोज़िशन तय होती है.
android.automotive.lens.facing इससे पता चलता है कि कैमरा लेंस, वाहन के बॉडी फ़्रेम और पैसेंजर सीट के हिसाब से किस दिशा में है.

अगर कैमरे, किसी खास जगह या लेंस ओरिएंटेशन के हिसाब से सटीक पोज़िशन में नहीं हैं, तो *_OTHER में android.automotive.location या android.automotive.lens.facing विशेषताओं में मौजूद होता है. इसके अलावा, अगर एक से ज़्यादा कैमरे एक ही जगह और दिशा में हैं, तो कैमरा HAL को अतिरिक्त विशेषताएं देनी चाहिए, ताकि ऐप्लिकेशन कैमरे की जगह की सटीक जानकारी दे सकें. इन विशेषताओं में ये शामिल हैं:

हेडलेस सिस्टम यूज़र को ऐक्सेस देना

कुछ सिस्टम और फ़र्स्ट-पार्टी (1P) ऐप्लिकेशन, हेडलेस सिस्टम यूज़र के तौर पर कैमरे को ऐक्सेस कर सकते हैं. इसे यूज़र 0 भी कहा जाता है. इससे यह पुष्टि करने में मदद मिलती है कि सुरक्षा के लिहाज़ से ज़रूरी ऐप्लिकेशन, जैसे कि पीछे का व्यू दिखाने वाला कैमरा, फ़ोरग्राउंड में उपयोगकर्ता के स्विच करने पर भी बिना किसी रुकावट के कैमरा स्ट्रीमिंग जारी रख सकते हैं. सिर्फ़ वे ऐप्लिकेशन, यूज़र 0 के तौर पर कैमरे को ऐक्सेस कर सकते हैं जिन पर प्लैटफ़ॉर्म का हस्ताक्षर है और जिनके पास android.permission.CAMERA_HEADLESS_SYSTEM_USER की नई अनुमति है.

यूज़र 0 के तौर पर कैमरे को ऐक्सेस करने वाले ऐप्लिकेशन के लिए, कैमरे का डेटा स्थानीय तौर पर इस्तेमाल किया जाना चाहिए. साथ ही, इसे डिवाइस से बाहर नहीं भेजा जाना चाहिए. इसमें कैमरे के डेटा से मिला कोई भी डेटा शामिल है. इन ऐप्लिकेशन के लिए, android.permission.CAMERA अनुमति पहले से दी जानी चाहिए. साथ ही, इन्हें Google की सुविधाओं वाले फ़ोन की ज़रूरी शर्तों के लिए, ड्राइविंग के लिए डिज़ाइन में बताई गई, पहले से दी गई अनुमति की नीति का पालन करना होगा.

कैमरे की निजता से जुड़ी अनुमति वाली सूची कॉन्फ़िगर करना

ओईएम अब कैमरे के कुछ ऐप्लिकेशन को अनुमति वाली सूची में शामिल करने के लिए कॉन्फ़िगर कर सकते हैं. इस सूची में शामिल होने पर, कैमरे की निजता टॉगल की स्थिति के बावजूद, कैमरे का ऐक्सेस मिलता है. इस सुविधा की मदद से, उपयोगकर्ता मनोरंजन के लिए इस्तेमाल किए जाने वाले ऐप्लिकेशन के लिए कैमरे का ऐक्सेस बंद कर सकते हैं. जैसे, सोशल मीडिया और वीडियो कॉन्फ़्रेंसिंग. साथ ही, अनुमति वाली सूची में शामिल कुछ ऐप्लिकेशन के लिए कैमरे का ऐक्सेस चालू रखा जा सकता है.

सिर्फ़ सिस्टम और खास अनुमतियों वाले ऐप्लिकेशन, इस सुविधा का इस्तेमाल कर सकते हैं. इन्हें android.permission.CAMERA_PRIVACY_ALLOWLIST की अनुमति मिली होती है. Google की वाहन संबंधित सेवाएं (GAS) के पार्टनर को, अनुमति वाली सूची में शामिल करने के लिए अपने ऐप्लिकेशन की समीक्षा के लिए सबमिट करना होगा. साथ ही, उन्हें निजता से जुड़ी अनुमति वाली सूची की नीति का पालन करना होगा. ज़्यादा जानने के लिए, कारों के लिए Android लेख पढ़ें.

अनुमति वाली सूची में कोई ऐप्लिकेशन जोड़ना

etc/sysconfig डायरेक्ट्री में:

  1. सिस्टम कॉन्फ़िगरेशन की एक्सएमएल फ़ाइल में, ऐप्लिकेशन का पैकेज नाम जोड़ें:

    <!-- In an xml file under etc/sysconfig ->
    
    <!--
    Allowlisted packages for the camera privacy toggle. Users can't turn on
    privacy for these packages as OEM requires camera access for these packages
    to preserve user safety.
    -->
    
    <config>
        <camera-privacy-allowlisted-app package="package_name" />
    </config>
    
  2. AndroidManifest.xml में, ऐप्लिकेशन की निजता नीति के खुलासे का यूआरएल जोड़ें. meta-data का नाम privacy_policy होना चाहिए.

    <meta-data android:name="privacy_policy" android:value= privacy policy URL/>
    

डिफ़ॉल्ट रूप से, अनुमति वाली सूची में शामिल ऐप्लिकेशन या ज़रूरी ऐप्लिकेशन के लिए, कैमरे की निजता टॉगल, निजता सेटिंग यूज़र इंटरफ़ेस (यूआई) में छिपा होता है. हालांकि, ओईएम इस व्यवहार को बदल सकते हैं. इसके लिए, उन्हें इस फ़्लैग को true पर सेट करना होगा. इससे ओईएम, अपनी पसंद के हिसाब से ज़रूरी ऐप्लिकेशन के लिए, कैमरे की निजता टॉगल की विज़िबिलिटी को पसंद के मुताबिक बना सकते हैं.

<!-- Whether to show the toggle to turn on the camera privacy for required apps -->

<bool name="config_show_camera_required_apps_toggle">false</bool>

कैमरे का शुरुआती ऐक्सेस पाना

समय के हिसाब से संवेदनशील और सुरक्षा के लिहाज़ से ज़रूरी कुछ ऐप्लिकेशन, Android के बूट होने की प्रोसेस पूरी होने से पहले ही कैमरे को ऐक्सेस कर सकते हैं. हालांकि, यह ऐक्सेस सिर्फ़ उन खास अनुमतियों वाले क्लाइंट को मिलता है जिनके पास UID AID_AUTOMOTIVE_EVS है. किसी सिस्टम ऐप्लिकेशन को खास यूआईडी असाइन करने के बारे में ज़्यादा जानने के लिए, विवेक के आधार पर ऐक्सेस कंट्रोल (डीएसी) लेख पढ़ें. कैमरे का यह शुरुआती ऐक्सेस, वाहन के बॉडी के बाहरी हिस्से पर मौजूद सिस्टम कैमरों तक ही सीमित है.