ऑटोमोटिव लोकेशन बायपास एपीआई, ऑटोमोटिव लोकेशन बायपास एपीआई

यह सुविधा "ड्राइवर सहायता के लिए स्थान का उपयोग करें" स्विच द्वारा अनुमति-सूचीबद्ध, एंड्रॉइड-बंडल, ड्राइवर सहायता ऐप्स की स्थान पहुंच को अलग से नियंत्रित करने की अनुमति देती है। यह इन ऐप्स को "स्थान का उपयोग करें" स्विच बंद होने पर भी स्थान तक पहुंचने में सक्षम बनाता है।

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

ड्राइवर सहायता स्थान बायपास एपीआई का उपयोग करें

निम्नलिखित अनुभाग बताते हैं कि ड्राइवर सहायता स्थान बायपास एपीआई का उपयोग कैसे करें। उपयोग नीति के बारे में अधिक जानने के लिए, स्थान बाईपास अनुमति सूची नीति देखें।

ड्राइवर सहायता स्विच स्थिति की जाँच करें

एंड्रॉइड 13 और उच्चतर में, आप स्थान अपडेट का अनुरोध करने से पहले ड्राइवर सहायता स्विच स्थिति की जांच कर सकते हैं।

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

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

विकास और परीक्षण के लिए, आप स्थान सेटिंग्स का उपयोग किए बिना ड्राइवर सहायता टॉगल की स्थिति को तुरंत जांच या बदल सकते हैं।

  1. स्थिति जांचने या बदलने के लिए एडीबी कमांड का उपयोग करने के लिए:
    // 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. सिस्टम कॉन्फ़िगरेशन XML फ़ाइल में ऐप का पैकेज नाम जोड़ें:
  2. <!-- In a xml file under etc/sysconfig–>
    <config>
    …
    <allow-adas-location-settings package="PACKAGE-NAME" />
    …
    </config>
    

यह सुनिश्चित करने के लिए कि आपका पैकेज स्थान सेटिंग यूआई में दिखाई दे, अपने पैकेज का नाम config_locationDriverAssistancePackageNames में जोड़ें।

ऐप की गोपनीयता नीति प्रकटीकरण का URL AndroidManifest.xml में जोड़ें। मेटा-डेटा का नाम privacy_policy होना चाहिए।

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

"ड्राइवर सहायता स्विच के लिए स्थान का उपयोग करें" हटाएं

यदि आपके पास स्थान-संचालित ड्राइवर सहायता ऐप नहीं है जो एंड्रॉइड से स्थान का अनुरोध करता है, तो आप स्थान सेटिंग्स के लिए स्विच को हटाने के लिए कोड ब्लॉक पर टिप्पणी कर सकते हैं।

  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 के साथ स्वीकृत सूची में हैं। परीक्षण दूरस्थ रूप से कॉन्फ़िगर किया गया है. नया पैकेज जोड़ने के लिए आपको अगले एटीएस रिलीज़ तक प्रतीक्षा करने की आवश्यकता नहीं है। आप एक बॉक्स में पूर्ण ऑटोमोटिव टेस्ट पर अधिक जान सकते हैं।