Prośba o dostęp do lokalizacji w tle

Na tej stronie omówimy te kwestie:

  • Jak poprosić o dostęp do lokalizacji w tle.
  • Jak obsługiwać prośbę 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 dostęp do lokalizacji w tle.
Rysunek 7. Strona ustawień zawiera opcję Zezwalaj zawsze, która przyznaje dostęp do lokalizacji w tle.

Zawartość okna uprawnień zależy od docelowej wersji pakietu SDK

Gdy funkcja w Twojej aplikacji poprosi o dostęp do lokalizacji w tle na urządzeniu z Androidem 10 (poziom API 29), okno uprawnień systemowych będzie zawierać opcję Zezwalaj zawsze. Jeśli użytkownik wybierze tę opcję, funkcja w Twojej aplikacji uzyska dostęp do lokalizacji w tle.

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

Możesz pomóc użytkownikom w przejściu na tę stronę ustawień, stosując sprawdzone metody podczas wysyłania prośby o uprawnienia dostępu do lokalizacji w tle. Proces przyznawania uprawnień zależy od docelowej wersji pakietu SDK aplikacji.

Aplikacja jest przeznaczona na Androida 11 lub nowszego

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

  • Jasne wyjaśnienie, dlaczego funkcja w Twojej aplikacji potrzebuje dostępu do lokalizacji w tle.
  • Etykieta widoczna dla użytkownika, która przyznaje dostęp do lokalizacji w tle (np. Zezwalaj zawsze na rysunku 7). Aby uzyskać tę etykietę, możesz wywołać funkcję getBackgroundPermissionOptionLabel(). Wartość zwracana przez tę metodę jest zlokalizowana na język preferowany na urządzeniu użytkownika.
  • Opcja odrzucenia uprawnień. Jeśli użytkownicy odrzucą dostęp do lokalizacji w tle, powinni móc nadal korzystać z Twojej 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 przeznaczona na Androida 10 lub starszego

Gdy funkcja w Twojej aplikacji poprosi o dostęp do lokalizacji w tle, użytkownicy zobaczą okno systemowe. To okno zawiera opcję przejścia do ustawień uprawnień dostępu do lokalizacji w aplikacji na stronie ustawień.

Jeśli Twoja aplikacja stosuje sprawdzone metody wysyłania próśb o uprawnienia dostępu do lokalizacji, nie musisz wprowadzać żadnych zmian, aby obsługiwać to działanie.

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 na pierwszym planie przyzna tylko dostęp do przybliżonej lokalizacji, Twoja aplikacja będzie mieć dostęp do przybliżonej lokalizacji również w tle.

Dodatkowe materiały

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

Codelabs

Filmy

Przykłady