Verwendung der Standortermittlung im Hintergrund

Mit Android 14 (Android U) wurden neue Einschränkungen für Apps eingeführt, die im Hintergrund auf den Standort des Nutzers zugreifen. Um diese Änderungen zu minimieren, wurde das Navigation SDK in Version 5.3.2 aktualisiert, um den Zugriff auf die Standortermittlung im Hintergrund besser zu verwalten. Wir empfehlen dir außerdem, deine Implementierung zu aktualisieren, damit deine App weiterhin auf die genauesten Standortdaten zugreifen kann.

Auswirkungen von Änderungen in Android 14 auf das Navigation SDK

Wenn Sie startGuidance() in Ihrer App aufrufen, zeigt der Dienst im Vordergrund Nutzerbenachrichtigungen für die detaillierte Routenführung an. Für die detaillierte Routenführung muss der Nutzer auf den Standort des Nutzers zugreifen können, um die Route zu aktualisieren und die korrekte visuelle und Audioführung zu verwenden. Ab Android 14 ist für den Zugriff auf den genauen Standort des Nutzers im Hintergrund eine Berechtigung des Nutzers erforderlich. Wenn eine App nicht die Berechtigung des Nutzers für den Zugriff auf die Standortermittlung im Hintergrund hat und versucht, einen Dienst im Vordergrund für Standortaktualisierungen zu starten, gibt das System standardmäßig eine SecurityException aus, wodurch die App abstürzt.

Wie das Navigation SDK dieses Problem löst

Ab Version 5.3.2 verarbeitet das Navigation SDK dieses SecurityException, ohne die App zu beeinträchtigen, sodass die Navigation im Hintergrund weiter ausgeführt werden kann. Außerdem enthält das Navigation SDK die Berechtigung ACCESS_BACKGROUND_LOCATION in der Datei AndroidManifest. Ihre App muss die Berechtigung dann nicht selbst deklarieren, da sie durch die Gradle-Zusammenführung verarbeitet wird. Wenn dem Nutzer keine Benachrichtigung angezeigt wird, bevor die App in den Hintergrund gestellt wird, muss das Navigation SDK Standortaktualisierungen vom System bereitstellen. Diese Systemupdates erfolgen möglicherweise nicht häufig oder präzise, sodass die Navigation nicht optimal ist. Aus diesem Grund empfehlen wir, Nutzer auch zum Zugriff auf die Standortermittlung im Hintergrund aufzufordern.

Wie App-Entwickler die Standortgenauigkeit für die Navigation verbessern können

Sie können die Genauigkeit des vom Navigation SDK verwendeten Standortsignals verbessern, indem Sie Ihre App so aktualisieren, dass Nutzer zum Zugriff auf die Standortermittlung im Hintergrund aufgefordert werden. In dem Prompt sollte dem Nutzer erklärt werden, wie er durch Erteilen der Berechtigung die Standortgenauigkeit und die Navigation verbessern kann, wenn die App im Hintergrund ausgeführt wird.

Dialogfeld für Beispielberechtigung

Weitere Informationen dazu, wie du Nutzer zum Standortzugriff auffordern kannst, findest du unter Berechtigungen zur Standortermittlung anfordern | Sensoren und Standort | Android-Entwickler.