Ich habe meinen LocationManager für Standortaktualisierungen alle zehn Sekunden registriert
%Vor% Aber der onLocationChanged
-Rückruf gibt alle 10 Sekunden einen Ort zurück, der (der Ort) mehr als 2 Stunden alt ist. Und dieser Zeitstempel ändert sich nie.
Das Problem ist:
2 Stunden zurück Ich war an einem komplett anderen Ort ( Zuhause ), wo ich das Gerät auf einem Wifi benutzt habe. Jetzt bin ich an einem anderen Ort ( Büro ) auf einem anderen WLAN, wo meine Anwendung meinen aktuellen Standort als home anzeigt. Dasselbe passierte gestern bei home , als office als mein aktueller Standort angezeigt wurde. Es funktionierte (ich habe den korrekten Standort angezeigt), als ich meine App schloss, die App FourSquare öffnete und meine App wieder öffnete.
Vollständiger Code:
%Vor%Wird auf diese Weise in einer Aktivität gestartet:
%Vor%Berechtigungen im Manifest:
%Vor%Ich kann jetzt den richtigen Ort finden, indem ich eine andere ortsbasierte App wie Maps, Navigator, Foursquare usw. öffne. Aber warum meine App keine neue / frische Reparatur vom Provider bekommen kann.
>Danke
Sie werden wegen dieser Zeile alt.
%Vor%, wenn GPS nicht aktiviert ist, zeigt es Ihnen den alten Standort an. Also entferne diesen Code Es wird wie ein Champion funktionieren Sie können auch auf diese Bibliothek verweisen
Auf Grund Ihrer Kommentare habe ich die Antwort bearbeitet. Okay. Lassen Sie mich Zeile für Zeile erklären
location = mgr.getLastKnownLocation(best);
es wird Ihnen das Objekt des letzten bekannten Ortes geben, dann wird es nach innen gehen, wenn es Bedingung ist und es wird dumplocation aufrufen und die letzten Standortdaten erhalten und danach haben Sie
Nehmen Sie jedoch an, dass der GPS-Provider deaktiviert ist. Dann wird kein neuer Standort abgerufen, sodass Sie nur den alten Standort erhalten. Also kannst du es entweder wie
ändern %Vor%Ich denke, da Sie Ihre ausstehende Absicht sofort abbrechen, würde das requestLocationUpdate die Aktualisierung nicht starten, bevor Sie abbrechen. Warum schläfst du nicht für 2 Sekunden vor dem Abbrechen?
Tags und Links android locationmanager