Użycie lokalizacji w tle

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.

przykładowe uprawnienie
okno

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.