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
  • 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.
Rysunek 7. Na stronie Ustawienia jest dostępna opcja Zawsze zezwalaj, która umożliwia 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 (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.
Użytkownicy mogą kliknąć powiadomienie systemowe, aby zmienić ustawienia lokalizacji dla aplikacji.
Rysunek 8. Powiadomienie przypominające użytkownikowi, że zezwolił aplikacji na 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 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