Na tej stronie znajdziesz te informacje:
- Jak poprosić o dostęp do lokalizacji w tle.
- Jak obsłużyć żądanie na podstawie docelowej wersji pakietu SDK aplikacji.
- Jak preferencje użytkownika dotyczące przybliżonej lokalizacji wpływają na to, jak aplikacja uzyskuje dostęp do 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 (interfejs API na poziomie 29), okno uprawnień systemowych zawiera opcję Zawsze zezwalaj. Jeśli użytkownik wybierze tę opcję, funkcja w aplikacji uzyska dostęp do lokalizacji w tle.
Jednak na Androidzie 11 (poziom interfejsu API 30) i nowszych wersjach okno systemowe nie zawiera opcji Zawsze zezwalaj. Zamiast tego użytkownicy muszą włączyć lokalizację w tle na stronie ustawień, jak pokazano na rysunku 7.
Możesz pomóc użytkownikom przejść na tę stronę ustawień, postępując zgodnie ze sprawdzonymi metodami podczas proszenia o dostęp do 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 uprawnień ACCESS_BACKGROUND_LOCATION, a shouldShowRequestPermissionRationale() zwraca true, wyświetl użytkownikom interfejs edukacyjny, który zawiera te informacje:
- Jasne wyjaśnienie, dlaczego funkcja aplikacji wymaga dostępu do lokalizacji w tle.
- Etykieta opcji ustawień, która przyznaje dostęp do lokalizacji w tle (np. Zawsze zezwalaj na rysunku 7). Aby uzyskać tę etykietę, możesz wywołać metodę
getBackgroundPermissionOptionLabel(). Wartość zwracana przez tę metodę jest zlokalizowana zgodnie z ustawieniami języka na urządzeniu użytkownika. - opcję odrzucenia prośby o uprawnienia. Jeśli użytkownicy nie wyrażą zgody na dostęp do lokalizacji w tle, powinni mieć możliwość dalszego 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 systemowe. To okno zawiera opcję przejścia do opcji dostępu do lokalizacji aplikacji na stronie ustawień.
Jeśli Twoja aplikacja jest już zgodna ze sprawdzonymi metodami dotyczącymi próśb o dostęp do lokalizacji, nie musisz wprowadzać żadnych zmian, aby obsługiwać to zachowanie.
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 uprawnień dostępu do lokalizacji będą też dotyczyć lokalizacji w tle. Innymi słowy, jeśli użytkownik przyzna aplikacji uprawnienie ACCESS_BACKGROUND_LOCATION, ale tylko do przybliżonej lokalizacji na pierwszym planie, aplikacja będzie miała dostęp tylko do przybliżonej lokalizacji również w tle.
Dodatkowe materiały
Więcej informacji o dostępie do lokalizacji na Androidzie znajdziesz w tych materiałach:
Codelabs
Filmy
Przykłady
- Przykładowa aplikacja demonstrująca użycie uprawnień dostępu do lokalizacji.