Automotive Location Bypass API

Mit dieser Funktion kann der Standortzugriff auf zugelassene, mit Android gebündelte Fahrerassistenz-Apps separat über den Schalter „Standort für Fahrerassistenz verwenden“ gesteuert werden. Dadurch können diese Apps auch dann auf den Standort zugreifen, wenn der Schalter „Standort verwenden“ ausgeschaltet ist.

  • Android 12 stellt für diese Funktion keine öffentliche API bereit. Fahrerassistenz-Apps sollten wie gewohnt Standortaktualisierungen anfordern.
  • Android 13 und höher müssen eine Standortanfrage stellen, um LocationManager.requestLocationUpdates() zu verwenden und ein LocationRequest Objekt übergeben, das mit LocationRequest.setAdasGnssBypass(true) konfiguriert ist.

Verwenden Sie die API zur Standortumgehung der Fahrerassistenz

In den folgenden Abschnitten wird beschrieben, wie Sie die Fahrerassistenz-Standortumgehungs-API verwenden. Weitere Informationen zur Nutzungsrichtlinie finden Sie unter Standortumgehungs-Zulassungslistenrichtlinie .

Überprüfen Sie den Status des Fahrerassistenzschalters

In Android 13 und höher können Sie den Status des Fahrerassistenzschalters überprüfen, bevor Sie Standortaktualisierungen anfordern.

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

Führen Sie Android Debug Bridge (ADB)-Befehle aus

Zu Entwicklungs- und Testzwecken können Sie den Status der Fahrerassistenzumschaltung schnell überprüfen oder ändern, ohne die Standorteinstellungen zu verwenden.

  1. So verwenden Sie ADB-Befehle zum Überprüfen oder Ändern des Status:
    // 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
    

Berechtigung festlegen

Im Folgenden finden Sie versionspezifische Android-Versionen:

  1. In Android 12 müssen Fahrerassistenz-Apps über die Berechtigung WRITE_SECURE_SETTINGS verfügen.
  2. In Android 13 und höher ist die Berechtigung LOCATION_BYPASS erforderlich.

Fügen Sie eine App zur Zulassungsliste auf Ihrem Gerät hinzu

Im Verzeichnis etc/sysconfig :

  1. Fügen Sie den Paketnamen der App in einer XML-Systemkonfigurationsdatei hinzu:
  2. <!-- In a xml file under etc/sysconfig–>
    <config>
    …
    <allow-adas-location-settings package="PACKAGE-NAME" />
    …
    </config>
    

Um sicherzustellen, dass Ihr Paket in der Benutzeroberfläche für Standorteinstellungen angezeigt wird, fügen Sie Ihren Paketnamen zu config_locationDriverAssistancePackageNames hinzu.

Fügen Sie die URL der App zur Offenlegung der Datenschutzrichtlinie zu AndroidManifest.xml hinzu. Der Name der Metadaten sollte privacy_policy lauten.

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

Entfernen Sie den „Standort für Fahrerassistenzschalter verwenden“

Wenn Sie keine standortbasierte Fahrerassistenz-App haben, die den Standort von Android anfordert, können Sie den Codeblock auskommentieren, um den Schalter für Standorteinstellungen zu entfernen.

  1. Öffnen Sie packages/apps/Car/Settings/res/xml/location_settings_fragment.xml und kommentieren Sie dann den folgenden Code aus.
    <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. Nachdem Sie den Schalter entfernt haben, setzen Sie config_defaultAdasGnssLocationEnabled auf false .

Führen Sie die Automotive-Testsuite aus

Google bietet einen Automotive Test Suite (ATS)-Test an, der sicherstellt, dass alle Fahrerassistenzpakete auf einem Gerät bei Google auf die Zulassungsliste gesetzt wurden. Der Test wird aus der Ferne konfiguriert. Sie müssen nicht bis zur nächsten ATS-Version warten, um ein neues Paket hinzuzufügen. Weitere Informationen finden Sie unter Complete Automotive Tests in a Box.