Android: getLastKnownLocation out-of-date -, wie Kraft, Position aktualisieren?
Ich bin mit
myLocation = mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
abrufen der aktuellen Position beim start meiner Anwendung.
Als die Android-Dokumentation Mitgliedstaaten, dieser Lage werden kann "out-of-date", da die Methode gibt den Standort, wenn das GPS das Letzte mal verwendet wurde.
Wie kann ich aktiv Anfrage den aktuellen Standort über GPS? Ich dachte über die Verwendung LocationListener
aber das könnte ein bisschen ein overkill, da ich nur die Lage einmal (am Anfang meiner app).
Irgendwelche Ideen?
InformationsquelleAutor znq | 2010-01-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre erste intuition richtig ist - Sie brauchen, um eine
LocationListener
zu verlangen, updates. Gegeben, dass Sie erfordern nur eine einzige position, können Sie die Registrierung der LocationListener nach dem ersten Wert zurückgegeben wird.In der Praxis jedoch, ist es wahrscheinlich klug, um zu hören, für ein wenig mehr. Location Based Services (insbesondere GPS) eine Tendenz zu 'jump around' ein wenig, wenn Sie zuerst erhalten Ihre fix. Ihre beste Wette ist zu hören für eine bestimmte Zeit oder eine festgelegte Anzahl von updates, oder bis eine gewisse Genauigkeit erreicht wurde (die Lage Hörer zurück, die Genauigkeit der position zurückgegeben).
Nehme an, dass ich schon GPS aktivieren, und starten Sie dann die app. Wenn ich bleiben an einem Ort, dann onLocationChanged() nicht aufgerufen werden. Unter diesem Fall, wie kann ich sicherstellen, dass der Rückgabewert von getLastKnownLocation() ist nicht out-of-date?
Sie können angeben, updates basierend auf der Zeit haben Sie einen Blick auf requestLocationUpdates
InformationsquelleAutor Reto Meier