Uprawnienia do lokalizacji Trójstanu

Trójstanowe uprawnienia lokalizacji w Androidzie 10 dają użytkownikom większą kontrolę nad sposobem, w jaki aplikacje uzyskują dostęp do lokalizacji ich urządzeń.

W Androidzie 9 i starszych użytkownicy dokonywali stałych wyborów, przyznając aplikacjom dostęp do lokalizacji. Mogli odmówić lub zezwolić , z których to drugie zapewniało aplikacjom dostęp przez cały czas (pierwszy plan i tło). Trójstanowe uprawnienia lokalizacji w systemie Android 10 dają użytkownikom trzy opcje zezwalania aplikacji na dostęp do lokalizacji urządzenia. Użytkownicy są proszeni o przyznanie lub odrzucenie poziomu uprawnień, gdy aplikacja o to poprosi.

Użytkownik zwykle widzi trzy opcje przedstawione na rysunku 1. Jednak są przypadki użycia, w których wymagane są tylko dwie z tych opcji i w takich przypadkach pokazane są tylko te dwie.

Tristate location permissions screen
Rysunek 1. Ekran powiadomień Tristate

Oto trzy opcje:

  • Zezwalaj przez cały czas : lokalizacja urządzenia jest znana aplikacji nawet wtedy, gdy aplikacja nie jest używana (działa w tle). Jest to równoważne zezwoleniem na uprawnienia w systemie Android 9 i niższych.
  • Zezwalaj tylko, gdy aplikacja jest w użyciu : (tylko na pierwszym planie) lokalizacja urządzenia jest widoczna dla aplikacji tylko wtedy, gdy jest ona aktywnie uruchomiona.
  • Odrzuć : lokalizacja urządzenia nigdy nie jest widoczna dla aplikacji. To to samo, co odmawianie uprawnień w systemie Android 9 i niższych.

Użytkownicy są proszeni o przyznanie uprawnień dostępu do lokalizacji, gdy aplikacje zażądają uprawnień.

Gdy użytkownik przyzna Zezwól tylko wtedy, gdy aplikacja jest używana , aplikacja może przez cały czas zażądać stopniowego zwiększenia dostępu do Zezwól . Użytkownik widzi okno dialogowe żądania (pokazane na rysunku 2 ). Jeśli użytkownik wybierze opcję Zachowaj dostęp podczas używania , gdy aplikacja uzyska dostęp do lokalizacji urządzenia przy następnym użyciu, w oknie dialogowym pojawi się opcja Zachowaj i nie pytaj ponownie .

Okno dialogowe pojawia się w następujących warunkach w przypadku aplikacji przeznaczonych na Androida 10:

  • Po co najmniej 24 godzinach od wydania pozwolenia.
  • Tylko jeśli aplikacja odbiera lokalizacje w tle.
  • Gdy ekran jest włączony, a użytkownik nie korzysta z innej aplikacji.
Incremental permissions
Rysunek 2. Uprawnienia przyrostowe

Aby dowiedzieć się więcej o żądaniu uprawnień, zobacz Dostęp aplikacji do lokalizacji urządzenia . Aby uzyskać szczegółowe informacje, jeśli Twoja aplikacja jest przeznaczona dla systemu Android 9 lub starszego, zobacz Kontynuacja działania zainicjowanego przez użytkownika .

Uderzenie

Funkcja trójstanowych uprawnień do lokalizacji wpływa na każdą aplikację, która wymaga dostępu do lokalizacji urządzenia podczas działania w tle i jest wymagana w systemie Android 10.

Możesz zmienić swój kod, ale nie możesz zmieniać ani dostosowywać zachowania związanego z uprawnieniami w ramach.

Realizacja

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

Aby uzyskać informacje na temat implementowania przypadków użycia aplikacji (w przypadku uaktualnień), zapoznaj się z sekcją Projektowanie dla scenariuszy uaktualniania urządzeń w dokumentacji dla deweloperów.

Aby dowiedzieć się, jak włączyć dostęp dla różnych zastosowań (takich jak wymaganie dostępu do lokalizacji w tle dla aplikacji takich jak Mapy Google lub usługi Google Play), zapoznaj się z następującymi tematami na stronie Dostęp aplikacji do lokalizacji urządzenia :

Dostęp do lokalizacji w aplikacji

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

Wymagana aplikacja typu uprawnienia Opcje użytkownika do dostarczenia
Aplikacja żąda tylko uprawnień na pierwszym planie Zezwalaj tylko podczas korzystania z aplikacji
Zaprzeczyć
Aplikacja zawsze prosi o pozwolenie (na pierwszym planie i w tle) Pozwól cały czas
Zezwalaj tylko podczas korzystania z aplikacji
Zaprzeczyć
Wszystkie aplikacje z prośbami o dostęp do lokalizacji Zezwalaj tylko podczas korzystania z aplikacji

Te uprawnienia dotyczą wszystkich żądań lokalizacji. Aplikacje z opcją Zezwalaj tylko podczas korzystania z uprawnień aplikacji nie mogą skanować sieci Wi-Fi w tle ani skanowania komórek.

W systemie Android 11 lub starszym aplikacje z opcją Zezwalaj tylko podczas korzystania z uprawnień aplikacji nie mogą skanować Bluetooth w tle. W systemie Android 12 aplikacje z opcją Zezwól tylko podczas korzystania z uprawnień aplikacji mogą uzyskiwać wyniki skanowania Bluetooth, ustawiając wartość atrybutu android:usesPermissionFlags na neverForLocation . Aby uzyskać więcej informacji, zobacz Aplikacja nie określa lokalizacji fizycznej .

Aktualizacje systemu operacyjnego

Po uaktualnieniu systemu operacyjnego do Androida 10 uprawnienia do lokalizacji aplikacji są tłumaczone zgodnie z poniższym:

  • Włączone staje się Zezwalaj tylko w użyciu .
  • Wyłączony pozostaje wyłączony ( Odrzuć ).
  • Wstępnie przyznany dostęp do lokalizacji staje się zezwoleniem wstępnym tylko wtedy, gdy jest używany .