Tristate-Standortberechtigungen

Tristate-Standortberechtigungen in Android 10 geben Benutzern mehr Kontrolle darüber, wie Apps auf ihre Gerätestandorte zugreifen.

In Android 9 und niedriger haben Benutzer ständige Entscheidungen getroffen, wenn sie Apps den Standortzugriff gewährten. Sie konnten entweder verweigern oder zulassen , wobei letzteres Apps jederzeit Zugriff gewährte (Vordergrund und Hintergrund). Tristate-Standortberechtigungen in Android 10 bieten Benutzern drei Optionen, um einer App den Zugriff auf den Standort eines Geräts zu ermöglichen. Benutzer werden aufgefordert, die Berechtigungsstufe zu erteilen oder zu verweigern, wenn eine App sie anfordert.

Ein Benutzer sieht normalerweise die drei in Abbildung 1 dargestellten Auswahlmöglichkeiten. Es gibt jedoch Anwendungsfälle, in denen nur zwei dieser Optionen erforderlich sind, und in solchen Fällen werden nur diese beiden angezeigt.

Tristate location permissions screen
Abbildung 1. Tristate-Benachrichtigungsbildschirm

Dies sind die drei Optionen:

  • Immer zulassen : Der Standort des Geräts ist der App bekannt, auch wenn die App nicht verwendet wird (im Hintergrund läuft). Dies entspricht dem Erlauben der Berechtigung in Android 9 und niedriger.
  • Nur zulassen, während die App verwendet wird : (nur Vordergrund) Der Standort des Geräts ist für die App nur sichtbar, wenn sie aktiv ausgeführt wird.
  • Verweigern : Der Standort des Geräts ist für die App nie sichtbar. Dies ist dasselbe wie das Verweigern der Berechtigung in Android 9 und niedriger.

Benutzer werden aufgefordert, die Standortzugriffsberechtigung zu erteilen, wenn Apps die Berechtigung anfordern.

Sobald ein Benutzer die Zugriffsberechtigung „ Nur zulassen, während die App verwendet wird “ gewährt, kann eine App eine schrittweise Erhöhung des Zugriffs auf „ Immer zulassen “ anfordern. Der Benutzer sieht einen Anforderungsdialog (siehe Abbildung 2 ). Wenn der Benutzer Zugriff während der Verwendung beibehalten auswählt und die App bei der nächsten Verwendung auf den Gerätestandort zugreift, bietet das Dialogfeld die Option Behalten und nicht erneut fragen .

Das Dialogfeld wird unter diesen Bedingungen für Apps angezeigt, die auf Android 10 abzielen:

  • Nach mindestens 24 Stunden nach Erteilung der Erlaubnis.
  • Nur wenn die App im Hintergrund Standorte empfängt.
  • Wenn der Bildschirm eingeschaltet ist und der Benutzer keine andere App verwendet.
Incremental permissions
Abbildung 2. Inkrementelle Berechtigungen

Weitere Informationen zum Anfordern von Berechtigungen finden Sie unter App-Zugriff auf Gerätestandort . Einzelheiten, wenn Ihre App auf Android 9 und niedriger ausgerichtet ist, finden Sie unter Fortsetzung der vom Nutzer initiierten Aktion .

Einfluss

Die Tristate-Standortberechtigungsfunktion wirkt sich auf alle Apps aus, die Zugriff auf den Gerätestandort benötigen, während sie im Hintergrund ausgeführt werden, und ist in Android 10 erforderlich.

Sie dürfen Ihren Code ändern, aber Sie dürfen das berechtigungsbezogene Verhalten im Framework nicht ändern oder anpassen.

Implementierung

Tristate-Standortberechtigungen werden unabhängig vom Ziel-SDK einer App auf Apps in Android 10 angewendet.

Informationen zum Implementieren der Anwendungsfälle Ihrer App (bei Upgrades) finden Sie im Abschnitt Design für Geräte-Upgrade-Szenarien in der Entwicklerdokumentation.

Um zu erfahren, wie Sie den Zugriff für verschiedene Anwendungsfälle aktivieren (z. B. das Erfordernis des Zugriffs auf den Standort im Hintergrund für Apps wie Google Maps oder Google Play-Dienste), sehen Sie sich diese Themen auf der Seite App-Zugriff auf Gerätestandort an :

In-App-Standortzugriff

Benutzer können die Zugriffsberechtigungen Ihrer App nur während der Verwendung der App auf „Verweigern“ oder „Zulassen ändern, wenn sie dies wünschen. Geben Sie für die Zugriffsberechtigung für den Standort in der App und für alle Erstanbieter- und Drittanbieter-Apps die Ebenen der Benutzersteuerung an, die in der folgenden Tabelle angegeben sind.

Der Berechtigungstyp muss von der App angefordert werden Benutzeroptionen bereitzustellen
Die App fordert nur Vordergrundberechtigungen an Nur während der Verwendung der App zulassen
Leugnen
App fordert immer Erlaubnis an (Vorder- und Hintergrund) Die ganze Zeit zulassen
Nur während der Verwendung der App zulassen
Leugnen
Alle Apps mit Standortzugriffsanfragen Nur während der Verwendung der App zulassen

Diese Berechtigungen gelten für alle Standortanfragen. Apps mit Nur während der Verwendung der App -Berechtigungen zulassen sind keine WLAN- oder Handy-Scans im Hintergrund zulässig.

Unter Android 11 oder niedriger sind Apps mit Nur bei Verwendung der App- Berechtigungen zulassen keine Bluetooth-Hintergrundscans zulässig. Ab Android 12 können Apps mit Nur bei Verwendung der App-Berechtigungen zulassen Bluetooth-Scanergebnisse erhalten, indem sie den Wert des Attributs android:usesPermissionFlags auf neverForLocation . Weitere Einzelheiten finden Sie unter App leitet keinen physischen Standort ab .

Betriebssystem-Upgrades

Bei einem Betriebssystem-Upgrade auf Android 10 werden App-Standortberechtigungen wie folgt übersetzt:

  • On wird zu Allow only while in Use .
  • Aus bleibt aus ( Verweigern ).
  • Vorab gewährter Standortzugriff wird zur Vorabgenehmigung Nur während der Verwendung zulassen .