Automotive Location Bypass API

Mit dieser Funktion kann der Standortzugriff von in die Zulassungsliste aufgenommenen, in Android enthaltenen Apps für das Fahrassistenzsystem über den Schalter „Standort für Fahrassistenz verwenden“ separat gesteuert werden. So können diese Apps auf den Standort zugreifen, auch wenn die Option „Standort verwenden“ deaktiviert ist.

  • Android 12 bietet keine öffentliche API für diese Funktion. Fahrassistenzsystem-Apps sollten wie gewohnt Standortaktualisierungen anfordern.
  • Unter Android 13 und höher muss eine Standortanfrage gestellt werden, um LocationManager.requestLocationUpdates() zu verwenden. Dabei muss ein mit LocationRequest.setAdasGnssBypass(true) konfiguriertes LocationRequest-Objekt übergeben werden.

API für die Standortumgehung des Fahrassistenzsystems verwenden

In den folgenden Abschnitten wird beschrieben, wie Sie die API für die Umgehung von Standorten für Fahrerassistenzsysteme verwenden. Weitere Informationen zu den Nutzungsrichtlinien finden Sie unter Richtlinie zur Zulassungsliste für die Umgehung von Standortsperren.

Status des Schalters für Fahrerassistenz prüfen

Unter Android 13 und höher können Sie den Status des Schalters für die Fahrerassistenz prüfen, bevor Sie Standortaktualisierungen anfordern.

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

ADB-Befehle (Android Debug Bridge) ausführen

Für die Entwicklung und Tests können Sie den Status der Ein-/Aus-Schaltfläche für die Fahrerassistenz schnell prüfen oder ändern, ohne die Standorteinstellungen zu verwenden.

  1. So prüfen oder ändern Sie den Status mit ADB-Befehlen:
    // 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

Versionsspezifische Informationen zu Android-Releases finden Sie hier:

  1. Unter Android 12 müssen Apps für Fahrerassistenz die Berechtigung WRITE_SECURE_SETTINGS haben.
  2. Unter Android 13 und höher ist die Berechtigung LOCATION_BYPASS erforderlich.

App auf Ihrem Gerät auf die Zulassungsliste setzen

Im Verzeichnis etc/sysconfig:

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

Damit Ihr Paket in den Standorteinstellungen angezeigt wird, fügen Sie den Paketnamen zu config_locationDriverAssistancePackageNames hinzu.

Fügen Sie AndroidManifest.xml die URL der Offenlegung der Datenschutzerklärung der App hinzu. Der Name der Metadaten muss privacy_policy sein.

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

Entfernen Sie den Schalter „Standort für Fahrassistenzsystem verwenden“.

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

  1. Öffnen Sie packages/apps/Car/Settings/res/xml/location_settings_fragment.xml und kommentieren Sie den folgenden Code.
    <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, legen Sie config_defaultAdasGnssLocationEnabled auf false fest.

Automotive Test Suite ausführen

Google bietet einen ATS-Test (Automotive Test Suite), mit dem sichergestellt wird, dass alle Fahrerassistenzpakete auf einem Gerät auf der Zulassungsliste von Google stehen. 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.