Uprawnienia do lokalizacji Trójstanu

Trójstanowe uprawnienia do lokalizacji w systemie Android 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 stale dokonywali wyborów dotyczących przyznawania aplikacjom dostępu do lokalizacji. Mogli albo Odmówić , albo Zezwolić , przy czym ta ostatnia opcja zapewniała aplikacjom ciągły dostęp (na pierwszym planie i w tle). Trójstanowe uprawnienia do 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 odmowę poziomu uprawnień, gdy aplikacja o to poprosi.

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

Tristate location permissions screen
Rysunek 1. Ekran powiadomień trójstanowych

Oto trzy opcje:

  • Zezwól 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ównoznaczne z zezwoleniem na pozwolenie w systemie Android 9 i starszych wersjach.
  • Zezwalaj tylko wtedy, gdy aplikacja jest używana : (tylko na pierwszym planie) lokalizacja urządzenia jest widoczna dla aplikacji tylko wtedy, gdy jest aktywnie uruchomiona.
  • Odmów : lokalizacja urządzenia nigdy nie jest widoczna dla aplikacji. Jest to to samo, co odmowa pozwolenia w systemie Android 9 i starszych wersjach.

Użytkownicy są proszeni o udzielenie pozwolenia na dostęp do lokalizacji, gdy aplikacje o to proszą.

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

Okno dialogowe pojawia się w następujących warunkach w przypadku aplikacji przeznaczonych dla systemu Android 10:

  • Po upływie co najmniej 24 godzin od udzielenia zezwolenia.
  • 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 . Szczegółowe informacje, jeśli Twoja aplikacja jest przeznaczona na Androida 9 i starsze, znajdziesz w artykule Kontynuacja działań inicjowanych przez użytkownika .

Uderzenie

Funkcja uprawnień do lokalizacji trójstanowej wpływa na każdą aplikację, która potrzebuje 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 środowisku.

Realizacja

Uprawnienia dotyczące lokalizacji w trzech stanach są stosowane do aplikacji w systemie Android 10 niezależnie od docelowego pakietu SDK aplikacji.

Informacje na temat wdrażania przypadków użycia aplikacji (w przypadku uaktualnień) można znaleźć w sekcji Projektowanie scenariuszy uaktualnień urządzeń w dokumentacji dla programistów.

Aby dowiedzieć się, jak włączyć dostęp w różnych przypadkach użycia (np. wymaganie dostępu do lokalizacji w tle dla aplikacji takich jak Mapy Google lub 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 Zezwalaj tylko podczas korzystania z aplikacji, jeśli tak zdecydują. W przypadku uprawnień dostępu do lokalizacji w aplikacji oraz w przypadku wszystkich aplikacji własnych i innych firm podaj poziomy kontroli użytkownika podane w poniższej tabeli.

Aplikacja typu uprawnienia musi zażądać Opcje użytkownika do zapewnienia
Aplikacja żąda tylko uprawnień na pierwszym planie Zezwalaj tylko podczas korzystania z aplikacji
Zaprzeczyć
Aplikacja zawsze żąda pozwolenia (pierwszy plan i tło) Pozwalaj cały czas
Zezwalaj tylko podczas korzystania z aplikacji
Zaprzeczyć
Wszystkie aplikacje z żądaniami dostępu do lokalizacji Zezwalaj tylko podczas korzystania z aplikacji

Te uprawnienia dotyczą wszystkich żądań lokalizacji. Aplikacje z uprawnieniami Zezwalaj tylko podczas korzystania z aplikacji nie zezwalają na skanowanie sieci Wi-Fi ani komórek w tle.

W systemie Android 11 lub starszym aplikacje z opcją Zezwalaj tylko podczas korzystania z uprawnień aplikacji nie zezwalają na skanowanie Bluetooth w tle. Począwszy od systemu Android 12, aplikacje z opcją Zezwalaj 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

W przypadku aktualizacji systemu operacyjnego do Androida 10 uprawnienia dotyczące lokalizacji aplikacji są tłumaczone w następujący sposób:

  • Opcja Włącz zmienia się na Zezwalaj tylko podczas używania .
  • Wył. pozostaje wyłączony ( Odmów ).
  • Wstępnie przyznany dostęp do lokalizacji staje się zezwoleniem tylko wtedy, gdy jest używany przed przyznaniem.