Dostęp do lokalizacji Tristate

Trzystanowe uprawnienia do lokalizacji w Androidzie 10 dają użytkownikom większą kontrolę nad tym, w jaki sposób aplikacje uzyskują dostęp do lokalizacji urządzenia.

W Androidzie 9 i starszych użytkownicy dokonywali trwałych wyborów podczas przyznawania dostępu do lokalizacji aplikacjom. Mogą oni odmówić lub zezwolić, co daje aplikacjom dostęp przez cały czas (na pierwszym i drugim planie). W Androidzie 10 uprawnienia do lokalizacji w trybie trójstanowym dają użytkownikom 3 opcje zezwolenia aplikacji na dostęp do lokalizacji urządzenia. Gdy aplikacja poprosi o przyznanie uprawnień, użytkownicy zostaną poproszeni o przyznanie lub odmowę przyznania uprawnień.

Użytkownik zwykle widzi 3 opcje przedstawione na rysunku 1. Są jednak przypadki, w których wymagane są tylko 2 z tych opcji. W takich przypadkach wyświetlane są tylko te 2 opcje.

Ekran z trzystanowym dostępem do lokalizacji

Rysunek 1. Ekran powiadomień z 3 stanami.

Oto 3 opcje:

  • Zawsze zezwalaj: aplikacja zna lokalizację urządzenia nawet wtedy, gdy nie jest używana (działa w tle). Jest to równoznaczne z zezwoleniem na uprawnienia w Androidzie 9 lub starszym.
  • Zezwalaj tylko podczas używania aplikacji: (tylko na pierwszym planie) lokalizacja urządzenia jest widoczna dla aplikacji tylko wtedy, gdy jest aktywna.
  • Odmów: lokalizacja urządzenia nigdy nie jest widoczna dla aplikacji. Jest to to samo, co odmowa uprawnień w Androidzie 9 i starszych.

Gdy aplikacje proszą o dostęp do lokalizacji, użytkownicy są o to proszeni.

Gdy użytkownik przyzna aplikacji uprawnienia Zezwalaj tylko podczas używania aplikacji, aplikacja może poprosić o stopniowe zwiększenie dostępu do Zezwalaj zawsze. Użytkownik widzi okno z prośbą (ryc. 2). Jeśli użytkownik wybierze Pozostaw dostęp podczas korzystania, gdy aplikacja uzyska dostęp do lokalizacji urządzenia podczas następnego użycia, w oknie pojawi się opcja Pozostaw i nie pytaj ponownie.

W przypadku aplikacji kierowanych na Androida 10 to okno pojawia się w takich warunkach:

  • Po upływie co najmniej 24 godzin od udzielenia uprawnienia.
  • Tylko wtedy, gdy aplikacja otrzymuje dane o lokalizacji w tle.
  • Gdy ekran jest włączony, a użytkownik nie korzysta z innej aplikacji.
Uprawnienia przyrostowe

Rysunek 2. Uprawnienia przyrostowe.

Więcej informacji o prośbach o uprawnienia znajdziesz w artykule Dostęp aplikacji do lokalizacji urządzenia. Jeśli Twoja aplikacja jest przeznaczona na Androida 9 lub starszego, szczegółowe informacje znajdziesz w artykule Kontynuacja działania wywołanego przez użytkownika.

Wpływ

Funkcja uprawnień do lokalizacji w trzystanach dotyczy każdej aplikacji, która potrzebuje dostępu do lokalizacji urządzenia podczas działania w tle, i jest wymagana w Androidzie 10.

Możesz zmienić kod, ale nie możesz zmienić ani dostosować zachowania związanego z uprawnieniami w ramach.

Implementacja

Trzystanowe uprawnienia do lokalizacji są stosowane do aplikacji w Androidzie 10 niezależnie od docelowego pakietu SDK aplikacji.

Informacje o wdrażaniu przypadków użycia aplikacji (w przypadku uaktualnień) znajdziesz w sekcji Projektowanie na potrzeby scenariuszy uaktualniania urządzenia w dokumentacji dla deweloperów.

Aby dowiedzieć się, jak włączyć dostęp w różnych przypadkach użycia (np. wymaganie dostępu do lokalizacji w tle w przypadku aplikacji takich jak Mapy Google czy usługi Google Play), zapoznaj się z tymi tematami na stronie Dostęp aplikacji do lokalizacji urządzenia:

Dostęp do lokalizacji w aplikacji

Użytkownicy mogą zmienić uprawnienia dostępu aplikacji na Odmów lub Zezwól tylko podczas korzystania z aplikacji. W przypadku uprawnień do dostępu do lokalizacji w aplikacji oraz w przypadku wszystkich aplikacji własnych i aplikacji innych firm podaj poziomy kontroli użytkownika podane w tabeli poniżej.

Typ uprawnień, o które musi poprosić aplikacja Opcje użytkownika
Aplikacja prosi tylko o uprawnienia na pierwszym planie Zezwalaj tylko podczas używania aplikacji
Odmów
Aplikacja prosi o dostęp zawsze (na pierwszym planie i w tle) Zawsze zezwalaj
Zezwalaj tylko podczas używania aplikacji
Odmów
Wszystkie aplikacje z prośbami o dostęp do lokalizacji Zezwalaj tylko podczas używania aplikacji

Te uprawnienia dotyczą wszystkich żądań dostępu do lokalizacji. Aplikacje z uprawnieniami Zezwalaj tylko podczas używania aplikacji nie mogą korzystać z Wi-Fi w tle ani skanować komórek.

Na Androidzie 11 lub starszym aplikacje z uprawnieniami Zezwalaj tylko podczas używania aplikacji nie mogą skanować Bluetootha w tle. Od Androida 12 aplikacje z uprawnieniami Zezwalaj tylko podczas używania aplikacji mogą uzyskiwać wyniki skanowania Bluetooth, ustawiając wartość atrybutu android:usesPermissionFlags na neverForLocation. Więcej informacji znajdziesz w artykule Aplikacja nie wywodzi lokalizacji fizycznej.

Aktualizacje systemu operacyjnego

Po uaktualnieniu systemu operacyjnego do Androida 10 uprawnienia aplikacji dotyczące lokalizacji są przekształcane w ten sposób:

  • Włączone zmieni się na Zezwalaj tylko podczas używania.
  • Ustawienie Wyłącz pozostaje wyłączone (Odrzuć).
  • Wstępnie przyznany dostęp do lokalizacji staje się wstępnym przyznaniem uprawnienia Zezwalaj tylko podczas używania.