0

Ich habe mich nur gefragt, weil es keinen Sinn ergibt.android - onLocationChanged wird auch dann aufgerufen, wenn kein Internet verfügbar ist

ich eine GoogleApiClient, die ich anschließen, und danach habe ich Anfrage Standort Updates mit

LocationServices.FusedLocationApi.requestLocationUpdates(
googleApiClient, mLocationRequest, this); 

Nun ist die seltsame Sache ist - onLocationChanged(Location location) auch genannt wird, wenn ich das Telefon im Flugzeugmodus setzen! Es gibt kein Internet und ich bekomme immer noch Standortinformationen. Wie ist das möglich? Sind diese Updates zuverlässig und genau?

Antwort

0

In regelmäßigen Situationen wird die Position basierend auf einem oder mehreren Sensoren berechnet. Die Daten umfassen:

  • Mobilfunknetze.
  • Umliegende Wi-Fi-Netzwerke.
  • Umliegende Bluetooth Beacons.
  • GPS.

Die ersten drei Methoden erfordern Radios, die beide hören und übertragen Funksignale, aber die GPS-Signale von Satelliten ausgestrahlt nur zuhört, wie es Sendungen etwas nicht. Wenn Sie den Flugzeugmodus aktivieren, geben Sie dem Gerät grundsätzlich vor, keine Signale mehr zu senden (um Interferenzen mit dem Flugzeug zu vermeiden). Da der GPS-Chip jedoch nichts sendet, kann er weiter zuhören für Satellitensignale und meldet Ihnen somit den aktuellen Standort des Geräts zurück.

Sie können programmatisch die Genauigkeit des Standortobjekts erkennen durch den Aufruf:

location.getAccuracy();

, die die Genauigkeit der Lage in Metern.

Edit: Lassen Sie mich einige wichtige Punkte hinzufügen, die für Sie interessant sein könnte:

  • GPS first fix ist wirklich langsam wenn es keine Unterstützung von einem anderen Radio haben. Es kann Minuten dauern, bis Sie den ersten Standort sehen.
  • GPS benötigt eine klare Sicht auf den Himmel, um Signale zu empfangen. Es wird also nicht drinnen funktionieren.
  • Im Vergleich zu anderen Techniken ist GPS eine der leistungsstärkeren Möglichkeiten, den Standort zu ermitteln.
0

In einem Fall, in dem noch kein Internet oder ein Update vorhanden ist, wird der letzte bekannte Standort zurückgegeben. Selbst im Flugmodus erhalten Sie es wahrscheinlich noch, es wird nur geändert, sobald ein neues Standortupdate verfügbar ist, das das Internet benötigt oder erfordert, bevor Sie

erhalten
Verwandte Themen