Ungefähren Standort abrufen

Aus Rücksicht auf den Datenschutz sollten App-Entwickler nur Berechtigungen für die geografische Standortermittlung anfordern. Apps, die eine ungefähre Standortermittlung benötigen, verwenden in der Regel den Netzwerkstandort (FLP), da er schnell ist und weniger Strom verbraucht.

Im Vergleich zu Android-basierten Mobilgeräten kann die Netzwerkstandortermittlung in Automotive-Apps schwieriger sein. Sie können zwei Android-APIs verwenden:

  • Bei der LocationManager API müssen Sie den bevorzugten Standortanbieter explizit angeben.

  • Mit der Einführung des Anbieters für kombinierte Standortbestimmung (Fused Location Provider, FLP) bietet die Google Play Services API eine einfachere Möglichkeit, mit Standortdaten zu arbeiten.

Viele Automobil-Apps verwenden FLP von der Google Play Services API (GPS) anstelle von LM. FLP wählt den optimalen Standortanbieter anhand der Kriterien und Richtlinien für Standortanfragen (Leistung und Genauigkeit) aus, die für das Fahrzeug erforderlich sind.

Sie können stattdessen NETWORK_PROVIDER in LM und GPS_PROVIDER für genaue Positionen explizit anfordern und verwenden. Dabei werden android.permission.ACCESS_FINE_LOCATION-Berechtigungen verwendet. In API 31 ist die FUSED_PROVIDER, auf die zuvor nur über die GPS API zugegriffen werden konnte, jetzt als Standortanbieter für LM verfügbar. Eine einfachere Implementierung von FLP finden Sie unter FusedLocationProvider.java.

Es ist zwar möglich, GPS_PROVIDER nur mit groben Berechtigungsrechten zu verwenden, aber das Framework verringert die Genauigkeit künstlich, um sie an die Erwartungen anzupassen. Für Entwickler, die ihre Apps auf Android-Smartphones ausrichten, ist das wenig sinnvoll, da die Gesamtverfügbarkeit gering ist und es oft länger dauert, einen groben Standort zu ermitteln.

Netzwerkstandort in der Automobilbranche

Die NETWORK_PROVIDER, die auf Android-Smartphones (mit Google Mobile Services) verwendet wird, ermittelt den Standort nicht mehr nur anhand von Mobilfunkmasten in der Nähe, sondern auch anhand von WLAN-Zugangspunkten oder sogar Bluetooth-Beacons (BT). Für die Nutzung von NETWORK_PROVIDER ist möglicherweise eine Datenverbindung erforderlich.

Für Apps für die Automobilbranche gelten andere Geräteeinschränkungen. Da GNSS normalerweise aktiviert ist, entstehen keine Leistungseinbußen und kein erhöhter Akkuverbrauch. Die Betriebszeit der IVI wird dadurch nicht beeinträchtigt. Wir bemühen uns, den Datenaustausch mit unseren Servern zu minimieren.

Viele Apps verwenden daher den Anbieter für kombinierte Standortbestimmung aus der Play API anstelle von LM direkt, da der Anbieter für kombinierte Standortbestimmung automatisch die richtige Entscheidung trifft, indem er den Standortanbieter verwendet, der die Kriterien/Richtlinien für Standortanfragen (nämlich Leistung und Genauigkeit) am besten erfüllt.

Im Gegensatz zu Mobilgeräten springen Fahrzeuge selten von einem Ort zum anderen. Die Fahrzeugposition ist meistens unter der Motorhaube bekannt.

Anbieter von Standortinformationen

Die meisten Fahrzeuge implementieren keine erforderlichen Telefonie-APIs, um die erforderlichen Informationen zu einer Zellen-ID (und Signalstärke) abzurufen. Aus diesem Grund und weil wir die Datennutzung minimieren, wird keine zusätzliche funktionale Implementierung von NLP bereitgestellt.

Anbieter für kombinierte Standortbestimmung

Die mobile FLP nutzt nicht nur Netzwerk- und GPS-Anbieter intelligent, sondern kombiniert auch Informationen von anderen Sensoren, um die Qualität der Standorte weiter zu verbessern. Die aktuelle Implementierung des FLP für die Automobilbranche nutzt hingegen die oben genannten Annahmen und verwendet GPS_PROVIDER immer als zugrunde liegende Quelle. Die Positionen von GNSS werden manipuliert, indem bei Bedarf einige Fehler hinzugefügt werden. Beispiel: Wenn einem Kunden grobe Standorte bereitgestellt werden.

In sehr seltenen Fällen kann es daher länger als gewöhnlich dauern, bis die erste Position verfügbar ist. Das kann beispielsweise beim ersten Mal sein, dass ein Fahrzeug oder genauer gesagt sein Standort-Subsystem verwendet wird, oder nach dem Abschleppen.

Apps für Mobilgeräte und die Automobilbranche entwerfen

Wir empfehlen, für Apps, die auf Mobilgeräte und auf Fahrzeuge ausgerichtet sind und für die keine höhere Qualität der Präzisionsanfrage erforderlich ist, android.permission.ACCESS_COARSE_LOCATION nur zu verwenden und bei Verfügbarkeit auf FLP umzustellen. Alternativ können Sie als letzten Ausweg GPS_PROVIDER direkt mit denselben Berechtigungen verwenden. Das Framework verringert die Genauigkeit der zugrunde liegenden GNSS-Position, um den API-Anforderungen zu entsprechen. Weitere Informationen finden Sie unter Genauigkeit.

Außerdem muss in diesen Apps die Funktion android.hardware.location.network im Manifest explizit als optional deklariert werden. Beispiel:

<uses-feature android:name="android.hardware.location.network" android:required="false" />

Dieser Ansatz sorgt für maximale Kompatibilität mit Geräten aus verschiedenen Branchen und damit für maximale App-Verfügbarkeit ohne Codeunterschiede, um bei Bedarf Positionen zu erhalten.