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
, a shouldShowRequestPermissionRationale()
zwraca wartość true
, wyświetl użytkownikom edukacyjny interfejs użytkownika, który zawiera:
- 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 uprawnień przez użytkowników. Jeśli użytkownicy odmówią udostępnienia 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 możesz przejść na stronę ustawień, aby wyświetlić opcje dotyczące uprawnień 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 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 do przybliżonej lokalizacji tylko w tle.
Dodatkowe materiały
Więcej informacji o uprawnieniach dostępu do lokalizacji na Androidzie znajdziesz w tych materiałach:
Ćwiczenia z programowania
Filmy
Próbki
- Przykładowa aplikacja, która demonstruje używanie uprawnień do lokalizacji.