LocationManager und LocationClient zusammen, um den Benutzerstandort abzurufen

8

Ich brauche nur den Standort des Benutzers. Am besten die genaue Position, aber wenn es nicht möglich ist, wäre ein ungefährer Ort in Ordnung.

Laut der Dokumentation:

LocationClient.getLastLocation ()

Returns the best most recent location currently available.

und

LocationManager.getLastKnownLocation (String)

Returns a Location indicating the data from the last known location fix obtained from the given provider.

Wenn mein Verständnis richtig ist, wird das erstere mir ein sehr gutes Ergebnis geben (oder manchmal null), während das letztere mir ein Ergebnis geben wird, das selten null wäre.

Dies ist mein Code (vereinfacht)

%Vor%

Es scheint zu funktionieren, aber meine Fragen sind:

  1. Ist mein Verständnis von getLastLocation und getLastKnownLocation korrekt?
  2. Ist das ein guter Ansatz?
  3. Kann ich Probleme bekommen, wenn ich beides in derselben Aktivität verwende?

Danke

    
Androiderson 25.06.2013, 17:56
quelle

1 Antwort

7

LocationClient.getLastLocation() gibt nur null zurück, wenn eine Standortbestimmung nicht möglich ist. getLastLocation() ist nicht schlechter als getLastKnownLocation() und ist normalerweise viel besser. Ich denke nicht, dass es sich lohnt, auf getLastKnownLocation() zurückzufallen.

Sie können nicht mit beiden Schwierigkeiten bekommen, aber es ist Overkill.

Natürlich müssen Sie sich daran erinnern, dass LocationClient Teil von Google Play-Diensten ist. Daher ist es nur auf Geräten verfügbar, deren Plattform den Google Play Store enthält. Einige Geräte verwenden möglicherweise eine nicht standardmäßige Android-Version und Sie haben keinen Zugriff auf LocationClient .

In der Dokumentation zu den Google Play-Diensten wird dies ausführlicher erläutert.

    
Joe Malin 25.06.2013, 20:32
quelle

Tags und Links