Android कैमरा सेवा का इस्तेमाल करना

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

Android Camera Service चालू करना

वाहन संबंधित प्लैटफ़ॉर्म पर Android Camera Service चालू करने के लिए, प्रॉडक्ट की makefile में ENABLE_CAMERA_SERVICE को true के तौर पर दिखाना ज़रूरी है.

वाहन संबंधित कैमरे की विशेषताएं

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

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

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

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

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

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

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

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

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

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

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

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

    <!-- In an xml file under etc/sysconfig —>
    
    <!--
    Allowlisted packages for the camera privacy toggle. Users will not be able to turn the privacy on 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/>
    

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

<!-- 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 वाले खास क्लाइंट को दिया जाता है. किसी नेटिव ऐप्लिकेशन को कोई खास यूआईडी असाइन करने के बारे में ज़्यादा जानने के लिए, डिसक्रेशनरी ऐक्सेस कंट्रोल (डीएसी) देखें. कैमरे का रिलीज़ होने से पहले ऐक्सेस करने की सुविधा, वाहन के बाहरी हिस्से में लगे सिस्टम कैमरों के लिए ही उपलब्ध है.