Ta funkcja umożliwia oddzielne kontrolowanie dostępu do lokalizacji przez aplikacje wspomagania kierowcy w Androidzie, które znajdują się na liście dozwolonych. Aby to zrobić, użyj przełącznika „Używaj lokalizacji na potrzeby funkcji wspomagania kierowcy”. Dzięki temu te aplikacje mają 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 Androidzie 13 lub nowszym musisz wysłać żądanie lokalizacji, aby użyć
LocationManager.requestLocationUpdates()
, i przekazać obiektLocationRequest
skonfigurowany za pomocąLocationRequest.setAdasGnssBypass(true)
.
Korzystanie z interfejsu API do pomijania lokalizacji w funkcjach wspomagania kierowcy
W sekcjach poniżej znajdziesz informacje o korzystaniu z interfejsu API do pomijania lokalizacji w aplikacji pomocy kierowcy. Więcej informacji o zasadach dotyczących korzystania z usługi znajdziesz w zasadach dotyczących listy dozwolonych adresów IP.
Sprawdzanie stanu przełącznika pomocy kierowcy
W Androidzie 13 i nowszych możesz sprawdzić stan przełącznika pomocy kierowcy, zanim poprosisz o aktualizacje lokalizacji.
// Returns the current status of "Use location for driver assistance". locationManager.isAdasGnssLocationEnabled();
Uruchamianie poleceń Android Debug Bridge (ADB)
Podczas tworzenia i testowania możesz szybko sprawdzić lub zmienić stan przełącznika pomocy kierowcy bez korzystania z Ustawień lokalizacji.
- Aby sprawdzić lub zmienić stan za pomocą poleceń 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
Skonfiguruj uprawnienia
Informacje o wersjach Androida znajdziesz tutaj:
- W Androidzie 12 aplikacje do pomocy kierowcy muszą mieć uprawnienie WRITE_SECURE_SETTINGS.
- Na Androidzie 13 i nowszych wymagane jest uprawnienie
LOCATION_BYPASS
.
Dodawanie aplikacji do listy dozwolonych na urządzeniu
W katalogu etc/sysconfig
:
- Dodaj nazwę pakietu aplikacji w pliku XML konfiguracji systemu:
<!-- In a xml file under etc/sysconfig–> <config> … <allow-adas-location-settings package="PACKAGE-NAME" /> … </config>
Aby mieć pewność, że pakiet będzie widoczny w interfejsie ustawień lokalizacji, dodaj jego nazwę do pliku config_locationDriverAssistancePackageNames
.
Dodaj do AndroidManifest.xml
adres URL polityki prywatności aplikacji. Nazwa metadanych powinna mieć postać privacy_policy
.
<meta-data android:name="privacy_policy" android:value= privacy policy URL/>
Usuń przełącznik „Użyj lokalizacji dla funkcji wspomagania kierowcy”.
Jeśli nie masz aplikacji wspomagającej kierowcę, która korzysta z lokalizacji i wymaga dostępu do lokalizacji na urządzeniu z Androidem, możesz wyłączyć blok kodu, aby usunąć przełącznik ustawień lokalizacji.
- Otwórz
packages/apps/Car/Settings/res/xml/location_settings_fragment.xml
i zakomentuj 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/>
- Po usunięciu przełącznika ustaw
config_defaultAdasGnssLocationEnabled
nafalse
.
Uruchamianie zestawu testów Automotive
Google udostępnia zestaw testów motoryzacyjnych (ATS), który zapewnia, że wszystkie pakiety pomocy kierowcy na urządzeniu zostały dodane do listy dozwolonych przez Google. Test jest konfigurowany zdalnie. Nie musisz czekać na kolejną wersję ATS, aby dodać nowy pakiet. Więcej informacji znajdziesz w kompletnym pakiecie testów pojazdów.