Prośba o dostęp do lokalizacji w tle

Na tej stronie znajdziesz informacje na te tematy:

  • Jak poprosić o dostęp do lokalizacji w tle.
  • Jak obsługiwać żądanie w zależności od docelowej wersji pakietu SDK aplikacji.
  • Jak preferencje użytkownika dotyczące przybliżonej lokalizacji wpływają na sposób, w jaki aplikacja uzyskuje lokalizację w tle.
Rysunek 7. Na stronie Ustawienia znajduje się opcja Zawsze zezwalaj, która przyznaje dostęp do lokalizacji w tle.

Zawartość okna dialogowego z prośbą o uprawnienia zależy od docelowej wersji pakietu SDK

Gdy funkcja w aplikacji poprosi o dostęp do lokalizacji w tle na urządzeniu z Androidem 10 (API na poziomie 29), w oknie uprawnień systemowych pojawi się opcja Zawsze zezwalaj. Jeśli użytkownik wybierze tę opcję, funkcja w Twojej aplikacji uzyska dostęp do lokalizacji w tle.

Na Androidzie 11 (poziom API 30) i nowszych wersjach okno systemowe nie zawiera jednak opcji Zawsze zezwalaj. Zamiast tego użytkownicy muszą włączyć lokalizację w tle na stronie ustawień, jak pokazano na ilustracji 7.

Aby ułatwić użytkownikom przejście na tę stronę ustawień, podczas proszenia o dostęp do lokalizacji w tle postępuj zgodnie ze sprawdzonymi metodami. Proces przyznawania uprawnień zależy od docelowej wersji pakietu SDK aplikacji.

Aplikacja jest kierowana na Androida 11 lub nowszego

Jeśli aplikacja nie ma uprawnień ACCESS_BACKGROUND_LOCATION, a funkcja shouldShowRequestPermissionRationale() zwraca wartość true, wyświetl użytkownikom interfejs edukacyjny, który zawiera te elementy:

  • Wyraźne wyjaśnienie, dlaczego funkcja aplikacji potrzebuje dostępu do lokalizacji w tle.
  • Etykieta widoczna dla użytkownika w opcji ustawień, która przyznaje dostęp do lokalizacji w tle (np. Zawsze zezwalaj na ilustracji 7). Aby uzyskać tę etykietę, możesz zadzwonić pod numer getBackgroundPermissionOptionLabel(). Wartość zwracana przez tę metodę jest zlokalizowana zgodnie z ustawieniami języka na urządzeniu użytkownika.
  • opcję odrzucenia uprawnień przez użytkowników. Jeśli użytkownicy odmówią dostępu do lokalizacji w tle, powinni mieć możliwość dalszego korzystania z aplikacji.
Użytkownicy mogą kliknąć powiadomienie systemowe, aby zmienić ustawienia lokalizacji aplikacji.
Rysunek 8. Powiadomienie przypominające użytkownikowi, że przyznał aplikacji dostęp do lokalizacji w tle.

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. W tym oknie znajduje się opcja przejścia do ustawień uprawnień aplikacji do lokalizacji na stronie ustawień.

Jeśli Twoja aplikacja jest już zgodna ze sprawdzonymi metodami dotyczącymi proszenia o uprawnienia 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 Twojej aplikacji uprawnienie ACCESS_BACKGROUND_LOCATION, ale zezwoli tylko na dostęp do przybliżonej lokalizacji na pierwszym planie, Twoja aplikacja będzie miała dostęp do przybliżonej lokalizacji również w tle.

Dodatkowe materiały

Więcej informacji o uprawnieniach do lokalizacji na Androidzie znajdziesz w tych materiałach:

Codelabs

Filmy

Przykłady