Nowość: Android 14 (Android U) ograniczenia w przypadku aplikacji, które uzyskują dostęp do lokalizacji użytkownika w tle. Aby złagodzić te zmiany, w wersji 5.4.0 pakietu SDK nawigacji wprowadzono poprawki, które umożliwiają lepsze zarządzanie dostępem do lokalizacji w tle. Zalecamy też zaktualizowanie w celu zapewnienia, że aplikacja nadal będzie miała dostęp do dokładne dane o lokalizacji.
Jak zmiany w Androidzie 14 wpływają na pakiet SDK nawigacji
Podczas wywoływania
startGuidance()
w aplikacji usługa na pierwszym planie zacznie wyświetlać użytkownikom powiadomienia dotyczące
szczegółową nawigację. Nawigacja zakręt po zakręcie zależy od tego, czy jesteś w stanie
dostęp do lokalizacji użytkownika w celu zaktualizowania trasy i wyświetlania prawidłowych
wskazówek wizualnych i dźwiękowych. Począwszy od Androida 14, dostęp do dokładnych danych użytkownika
lokalizacja w tle wymaga zgody użytkownika. Domyślnie, jeśli aplikacja nie ma uprawnień użytkownika do dostępu do lokalizacji w tle i próbuje uruchomić usługę na pierwszym planie w celu otrzymywania aktualizacji lokalizacji, system zgłasza błąd SecurityException
, powodując awarię aplikacji.
Jak pakiet Navigation SDK pozwala radzić sobie z tym problemem
SecurityException
od wersji 5.4.0 przez pakiet Navigation SDK
bez wpływu na aplikację, dzięki czemu nawigacja może działać
w tle. Dodatkowo pakiet SDK nawigacji zawiera uprawnienie ACCESS_BACKGROUND_LOCATION
w swoim AndroidManifest
. Dzięki temu
aplikacja nie musi deklarować samych uprawnień, ponieważ scalanie Gradle będzie obsługiwać
. Jeśli jednak powiadomienie nie zostanie wyświetlone użytkownikowi, zanim aplikacja przejdzie w tło, pakiet SDK Nawigacji będzie polegać na systemie w kwestii dostarczania aktualizacji lokalizacji. Te aktualizacje systemu mogą nie być częste lub nieprecyzyjne,
i nie sprawiają problemów w nawigacji. Z tego powodu zalecamy również
z prośbą o dostęp do lokalizacji w tle.
Co mogą zrobić deweloperzy aplikacji, aby poprawić dokładność lokalizacji na potrzeby nawigacji
Możesz zwiększyć dokładność sygnału lokalizacji używanego przez pakiet SDK nawigacji aktualizując aplikację tak, aby prosiła użytkowników o dostęp do lokalizacji w tle. Prompt powinien wyjaśnić użytkownikom, jak przyznanie uprawnień polepszy lokalizację. dokładności i usprawnienia nawigacji, gdy aplikacja jest uruchomiona w tle.
Więcej informacji o proszeniu użytkowników o dostęp do lokalizacji znajdziesz w artykule Proś o dostęp do lokalizacji | Czujniki i lokalizacja | Deweloperzy Androida.