Na tej stronie znajdziesz informacje na te tematy:
- Jak poprosić o dostęp do lokalizacji w tle
- Sposób obsługi żądania na podstawie docelowej wersji pakietu SDK aplikacji.
- Jak preferencje użytkownika dotyczące przybliżonej lokalizacji wpływają na sposób uzyskiwania przez aplikację lokalizacji w tle.
Treść okna uprawnień zależy od docelowej wersji pakietu SDK
Gdy funkcja w aplikacji prosi o dostęp do lokalizacji w tle na urządzeniu z Androidem 10 (poziom interfejsu API 29), w oknie uprawnień systemowych jest dostępna opcja Zawsze zezwalaj. Jeśli użytkownik wybierze tę opcję, funkcja w Twojej aplikacji uzyska dostęp do lokalizacji w tle.
W Androidzie 11 (poziom interfejsu API 30) i nowszych opcja Zawsze zezwalaj nie jest jednak dostępna w oknie dialogowym systemu. Zamiast tego użytkownicy muszą włączyć lokalizowanie w tle na stronie ustawień (patrz rys. 7).
Możesz pomóc użytkownikom dotrzeć do tej strony ustawień, stosując sprawdzone metody podczas żądania uprawnienia do korzystania z lokalizacji w tle. Proces przyznawania uprawnień zależy od docelowej wersji pakietu SDK aplikacji.
Aplikacja jest kierowana na Androida 11 lub nowszego
Jeśli Twoja aplikacja nie ma uprawnienia ACCESS_BACKGROUND_LOCATION
i zwraca wartość true
, wyświetl użytkownikom edukacyjny interfejs użytkownika, który zawiera:shouldShowRequestPermissionRationale()
- jasne wyjaśnienie, dlaczego funkcja aplikacji potrzebuje dostępu do lokalizacji w tle;
- Etykieta widoczna dla użytkownika opcji ustawień, która przyznaje dostęp do lokalizacji w tle (np. Zawsze zezwalaj na rysunku 7). Aby uzyskać tę etykietę, zadzwoń pod numer
getBackgroundPermissionOptionLabel()
. Wartość zwracana przez tę metodę jest dostosowywana do ustawień języka na urządzeniu użytkownika. - Opcja odrzucenia uprawnienia przez użytkowników. Jeśli użytkownicy odmówią dostępu do lokalizacji w tle, powinni nadal mieć możliwość korzystania z aplikacji.
Aplikacja jest kierowana na Androida 10 lub starszego
Gdy funkcja w aplikacji prosi o dostęp do lokalizacji w tle, użytkownicy widzą okno systemu. W tym oknie jest opcja przejścia na stronę ustawień, na której można wybrać opcje dostępu do lokalizacji.
Jeśli Twoja aplikacja już stosuje się do sprawdzonych metod dotyczących żądania uprawnień do lokalizacji, nie musisz wprowadzać żadnych zmian, aby obsługiwać tę funkcję.
Użytkownik może wpływać na dokładność lokalizacji w tle
Jeśli użytkownik poprosi o przybliżoną lokalizację, jego wybory w oknie z prośbą o dostęp do lokalizacji w tle będą miały zastosowanie również do lokalizacji w tle. Inaczej mówiąc, jeśli użytkownik przyzna aplikacji uprawnienie ACCESS_BACKGROUND_LOCATION
, ale zezwoli na dostęp do przybliżonej lokalizacji tylko na pierwszym planie, aplikacja będzie miała dostęp tylko do przybliżonej lokalizacji w tle.
Dodatkowe materiały
Więcej informacji o uprawnieniach dostępu do lokalizacji w Androidzie znajdziesz w tych materiałach:
Ćwiczenia z programowania
Filmy
Próbki
- Przykładowa aplikacja, która demonstruje używanie uprawnień dostępu do lokalizacji.