Automotive Location Bypass API

इस सुविधा की मदद से, अनुमति वाली सूची में शामिल, Android के साथ बंडल किए गए, और ड्राइवर की सुरक्षा में मदद करने वाले ऐप्लिकेशन के लिए, जगह की जानकारी के ऐक्सेस को अलग से कंट्रोल किया जा सकता है. इसके लिए, “ड्राइवर की सुरक्षा में मदद करने वाली सुविधाओं के लिए जगह की जानकारी का इस्तेमाल करें” स्विच का इस्तेमाल करें. इससे ये ऐप्लिकेशन, "जगह की जानकारी का इस्तेमाल करें" स्विच बंद होने पर भी जगह की जानकारी ऐक्सेस कर सकते हैं.

  • Android 12 इस सुविधा के लिए कोई सार्वजनिक एपीआई उपलब्ध नहीं कराता. ड्राइवर की सुरक्षा में मदद करने वाली सुविधाओं के ऐप्लिकेशन को, जगह की जानकारी के अपडेट का अनुरोध हमेशा की तरह करना चाहिए.
  • Android 13 और इसके बाद के वर्शन वाले डिवाइसों को LocationManager.requestLocationUpdates() का इस्तेमाल करने के लिए, जगह की जानकारी का अनुरोध करना होगा. साथ ही, LocationRequest.setAdasGnssBypass(true) के साथ कॉन्फ़िगर किए गए LocationRequest ऑब्जेक्ट को पास करना होगा.

ड्राइवर की सुरक्षा में मदद करने वाली सुविधाओं के लिए, जगह की जानकारी को बायपास करने वाले एपीआई का इस्तेमाल करना

नीचे दिए गए सेक्शन में, ड्राइवर की सुरक्षा में मदद करने वाली सुविधाओं के लिए, जगह की जानकारी को बायपास करने वाले एपीआई को इस्तेमाल करने का तरीका बताया गया है. इस्तेमाल से जुड़ी नीति के बारे में ज़्यादा जानने के लिए, जगह की जानकारी को बायपास करने की अनुमति वाली सूची से जुड़ी नीति देखें.

ड्राइवर की सुरक्षा में मदद करने वाली सुविधाओं के स्विच का स्टेटस देखना

Android 13 और इसके बाद के वर्शन में, जगह की जानकारी के अपडेट का अनुरोध करने से पहले, ड्राइवर की सुरक्षा में मदद करने वाली सुविधाओं के स्विच का स्टेटस देखा जा सकता है.

// Returns the current status of "Use location for driver assistance".
locationManager.isAdasGnssLocationEnabled();

Android डीबग ब्रिज (एडीबी) कमांड चलाना

डेवलपमेंट और टेस्टिंग के लिए, जगह की जानकारी की सेटिंग का इस्तेमाल किए बिना, ड्राइवर की सुरक्षा में मदद करने वाली सुविधाओं के टॉगल की स्थिति को तुरंत देखा या बदला जा सकता है.

  1. स्टेटस देखने या बदलने के लिए, ADB कमांड का इस्तेमाल करने के लिए:
    // Gets the status of ADAS location.
    adb shell cmd location is-adas-gnss-location-enabled
    
    // Enables ADAS location.
    adb shell cmd location set-adas-gnss-location-enabled true
    
    // Disables ADAS location.
    adb shell cmd location set-adas-gnss-location-enabled false

अनुमति सेट करें

Android के अलग-अलग वर्शन के बारे में जानने के लिए, यहां देखें:

  1. Android 12 में, ड्राइवर की सुरक्षा में मदद करने वाले ऐप्लिकेशन के पास WRITE_SECURE_SETTINGS अनुमति होनी चाहिए.
  2. Android 13 और इसके बाद के वर्शन में, LOCATION_BYPASS की अनुमति ज़रूरी है.

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

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

  1. सिस्टम कॉन्फ़िगरेशन की एक्सएमएल फ़ाइल में, ऐप्लिकेशन के पैकेज का नाम जोड़ें:
  2. <!-- In a xml file under etc/sysconfig–>
    <config>
    …
    <allow-adas-location-settings package="PACKAGE-NAME" />
    …
    </config>

यह पक्का करने के लिए कि आपका पैकेज, जगह की जानकारी की सेटिंग के यूज़र इंटरफ़ेस (यूआई) में दिखे, अपने पैकेज का नाम config_locationDriverAssistancePackageNames में जोड़ें.

AndroidManifest.xml में, ऐप्लिकेशन की निजता नीति की जानकारी देने वाले पेज का यूआरएल जोड़ें. मेटा-डेटा का नाम privacy_policy होना चाहिए.

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

"ड्राइवर की सुरक्षा में मदद करने वाली सुविधाएं के लिए जगह की जानकारी इस्तेमाल करें" स्विच को हटाना

अगर आपके पास ड्राइवर की सुरक्षा में मदद करने वाला ऐसा ऐप्लिकेशन नहीं है जो Android से जगह की जानकारी का अनुरोध करता है, तो जगह की जानकारी की सेटिंग के स्विच को हटाने के लिए, कोड ब्लॉक को टिप्पणी के तौर पर मार्क किया जा सकता है.

  1. packages/apps/Car/Settings/res/xml/location_settings_fragment.xml खोलें और फिर इस कोड को टिप्पणी के तौर पर मार्क करें.
    <com.android.car.ui.preference.CarUiTwoActionSwitchPreference
    
        android:fragment="com.android.car.settings.location.AdasLocationFragment"
    
        android:key="@string/pk_location_driver_assistance_state_switch"
    
        android:title="@string/location_driver_assistance_toggle_title"
    
        android:summary="@string/location_driver_assistance_toggle_summary"
    
    
    settings:controller="com.android.car.settings.location.AdasLocationSwitchPreferenceController"
    
        settings:searchable="true"/>
    
      <com.android.car.settings.common.DividerPreference/>
  2. स्विच हटाने के बाद, config_defaultAdasGnssLocationEnabled को false पर सेट करें.

ऑटोमोटिव टेस्ट सुइट चलाना

Google, ऑटोमोटिव टेस्ट सुइट (एटीएस) टेस्ट उपलब्ध कराता है. इससे यह पक्का किया जाता है कि किसी डिवाइस पर ड्राइवर की सुरक्षा में मदद करने वाली सुविधाओं के सभी पैकेज, Google की अनुमति वाली सूची में शामिल हों. टेस्ट को रिमोटली कॉन्फ़िगर किया गया है. नया पैकेज जोड़ने के लिए, आपको एटीएस की अगली रिलीज़ का इंतज़ार करने की ज़रूरत नहीं है. ज़्यादा जानकारी के लिए, Complete Automotive Tests in a Box पर जाएं.