Tristate-Standortberechtigungen in Android 10 geben Benutzern mehr Kontrolle darüber, wie Apps auf ihre Gerätestandorte zugreifen.
In Android 9 und niedriger trafen Benutzer beim Gewähren des Standortzugriffs auf Apps dauerhafte Entscheidungen. Sie konnten entweder „Deny“ oder „Allow“ wählen, wobei Letzteres den Apps jederzeit Zugriff gewährte (Vorder- und Hintergrund). Tristate-Standortberechtigungen in Android 10 bieten Benutzern drei Optionen, um einer App Zugriff auf den Standort eines Geräts zu gewähren. Benutzer werden aufgefordert, die Berechtigungsstufe zu erteilen oder zu verweigern, wenn eine App dies anfordert.
Normalerweise sieht ein Benutzer 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 nur diese beiden angezeigt werden.
![Der Benutzer wählt eine dieser Optionen aus Tristate location permissions screen](https://source.android.google.cn/static/docs/core/permissions/images/tristate-image.png?authuser=6&hl=de)
Dies sind die drei Optionen:
- Ständig zulassen : Der Standort des Geräts ist der App bekannt, auch wenn die App nicht verwendet wird (im Hintergrund ausgeführt wird). Dies entspricht dem Erteilen der Berechtigung in Android 9 und niedriger.
- Nur zulassen, während die App verwendet wird : (nur im 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 Berechtigung für den Standortzugriff 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. Dem Benutzer wird ein Anforderungsdialogfeld angezeigt (siehe Abbildung 2 ). Wenn der Benutzer Zugriff während der Nutzung behalten 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“ an.
Das Dialogfeld wird unter diesen Bedingungen für Apps angezeigt, die auf Android 10 ausgerichtet sind:
- 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.
![Inkrementelle Berechtigungen für Benutzer Incremental permissions](https://source.android.google.cn/static/docs/core/permissions/images/incremental-permissions-screen.png?authuser=6&hl=de)
Weitere Informationen zum Anfordern von Berechtigungen finden Sie unter App-Zugriff auf den Gerätestandort . Einzelheiten dazu, ob Ihre App auf Android 9 und niedriger ausgerichtet ist, finden Sie unter Fortsetzung der vom Benutzer initiierten Aktion .
Auswirkungen
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 können Ihren Code ändern, aber Sie dürfen das berechtigungsbezogene Verhalten im Framework nicht ändern oder anpassen.
Implementierung
Tristate-Standortberechtigungen werden auf Apps in Android 10 angewendet, unabhängig vom Ziel-SDK einer App.
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 Standortzugriffs 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 entweder auf „Verweigern “ oder „Zulassen“ ändern, wenn sie dies wünschen. Stellen Sie für die Berechtigung zum In-App-Standortzugriff und für alle Erst- und Drittanbieter-Apps die in der folgenden Tabelle angegebenen Ebenen der Benutzerkontrolle bereit.
Berechtigungstyp-App muss angefordert werden | Benutzeroptionen zur Verfügung zu stellen |
---|---|
Die App fordert nur Vordergrundberechtigungen an | Nur während der Nutzung der App zulassen Leugnen |
App fordert immer Erlaubnis an (Vorder- und Hintergrund) | Erlaube die ganze Zeit Nur während der Nutzung der App zulassen Leugnen |
Alle Apps mit Standortzugriffsanfragen | Nur während der Nutzung der App zulassen |
Diese Berechtigungen gelten für alle Standortanfragen. Apps mit der Berechtigung „Nur während der Nutzung der App zulassen“ sind nicht für Hintergrund-WLAN oder Mobilfunkscans zugelassen.
Unter Android 11 oder niedriger sind für Apps mit der Berechtigung „Nur bei Verwendung der App zulassen“ keine Bluetooth-Scans im Hintergrund zulässig. Ab Android 12 können Apps mit der Berechtigung „Nur bei Verwendung der App zulassen“ Bluetooth-Scanergebnisse erhalten, indem sie den Wert des Attributs android:usesPermissionFlags
auf neverForLocation
setzen. Weitere Einzelheiten finden Sie unter App leitet den physischen Standort nicht ab .
Betriebssystem-Upgrades
Bei einem Betriebssystem-Upgrade auf Android 10 werden die App-Standortberechtigungen wie folgt übersetzt:
- „Ein“ wird zu „Nur während der Verwendung zulassen“ .
- Aus bleibt aus ( Verweigern ).
- Der vorab gewährte Standortzugriff wird zur Vorgewährung „Nur während der Nutzung zulassen“.