Automotive Location Bypass API

Ta funkcja umożliwia osobne kontrolowanie dostępu do lokalizacji w przypadku aplikacji asystujących kierowcy, które są na liście dozwolonych i są dołączone do Androida, za pomocą przełącznika „Używaj lokalizacji na potrzeby funkcji wspomagania kierowcy”. Dzięki temu te aplikacje mogą uzyskiwać dostęp do lokalizacji, nawet gdy przełącznik „Użyj lokalizacji” jest wyłączony.

  • Android 12 nie udostępnia publicznego interfejsu API dla tej funkcji. Aplikacje wspomagające kierowcę powinny prosić o aktualizacje lokalizacji w zwykły sposób.
  • Na urządzeniach z Androidem 13 lub nowszym należy wysłać żądanie lokalizacji, aby używać LocationManager.requestLocationUpdates() i przekazać obiekt LocationRequest skonfigurowany za pomocą LocationRequest.setAdasGnssBypass(true).

Korzystanie z interfejsu API do pomijania lokalizacji na potrzeby funkcji wspomagania kierowcy

W sekcjach poniżej opisano, jak korzystać z interfejsu API do pomijania lokalizacji na potrzeby funkcji wspomagania kierowcy. Więcej informacji o zasadach użytkowania znajdziesz w artykule Zasady dotyczące listy dozwolonych pominięcia lokalizacji.

Sprawdzanie stanu przełącznika funkcji wspomagania kierowcy

Na Androidzie 13 lub nowszym możesz sprawdzić stan przełącznika funkcji wspomagania kierowcy, zanim poprosisz o informacje o zmianie lokalizacji.

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

Uruchamianie poleceń Android Debug Bridge (ADB)

Na potrzeby programowania i testowania możesz szybko sprawdzić lub zmienić stan przełącznika funkcji wspomagania kierowcy bez korzystania z ustawień lokalizacji.

  1. Aby użyć poleceń ADB do sprawdzenia lub zmiany stanu:
    // 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

Ustaw uprawnienia

Poniżej znajdziesz informacje o poszczególnych wersjach Androida:

  1. W Androidzie 12 aplikacje wspomagające kierowcę muszą mieć uprawnienie WRITE_SECURE_SETTINGS.
  2. W Androidzie 13 i nowszych wersjach wymagane jest uprawnienie LOCATION_BYPASS.

Dodawanie aplikacji do listy dozwolonych na urządzeniu

W katalogu etc/sysconfig:

  1. Dodaj nazwę pakietu aplikacji w pliku XML konfiguracji systemu:
  2. <!-- In a xml file under etc/sysconfig–>
    <config>
    …
    <allow-adas-location-settings package="PACKAGE-NAME" />
    …
    </config>

Aby mieć pewność, że pakiet pojawi się w interfejsie ustawień lokalizacji, dodaj jego nazwę do config_locationDriverAssistancePackageNames.

Dodaj adres URL oświadczenia o ochronie prywatności aplikacji do AndroidManifest.xml. Nazwa metadanych powinna brzmieć privacy_policy.

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

Usuń przełącznik „Funkcje wspomagania kierowcy mogą używać lokalizacji”.

Jeśli nie masz aplikacji wspomagającej kierowcę, która korzysta z lokalizacji i żąda jej od Androida, możesz zmienić blok kodu w komentarz, aby usunąć przełącznik ustawień lokalizacji.

  1. Otwórz packages/apps/Car/Settings/res/xml/location_settings_fragment.xml, a następnie zmień w komentarz ten kod.
    <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. Po usunięciu przełącznika ustaw config_defaultAdasGnssLocationEnabled na false.

Uruchamianie pakietu Automotive Test Suite

Google udostępnia test Automotive Test Suite (ATS), który sprawdza, czy wszystkie pakiety funkcji wspomagania kierowcy na urządzeniu zostały dodane do listy dozwolonych w Google. Test jest konfigurowany zdalnie. Nie musisz czekać na kolejną wersję ATS, aby dodać nowy pakiet. Więcej informacji znajdziesz w artykule Kompletne testy Automotive Tests in a Box.