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 Debug Bridge (ADB) के निर्देश चलाना

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

  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 पर सेट करें.

Automotive टेस्ट सुइट चलाना

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