Wie zuverlässig ist LocationManager's getLastKnownLocation und wie oft wird es aktualisiert?

Ich baue eine App, die den aktuellen Standort eines Benutzers bei bestimmten Aktionen verwenden kann. Standort ist eher ein Vorteil für den Benutzer als ein kritischer Teil des Prozesses. Ich interessiere mich nur für sehr grobe Genauigkeit und es kann von 5 oder sogar 10 Meilen ausgeschaltet werden und immer noch wertvoll sein. Allgemeiner Plan war zu sehen, ob der Netzbetreiber aktiviert wurde und dann nur tun

locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER) 

Angenommen, dass keine anderen Apps laufen, wird das Telefon automatisch den Netzwerkstandort automatisch aktualisieren? Dh es wird wahrscheinlich immer ein Wert sein, der von diesem Code zurückgegeben wird, der meine Bedürfnisse erfüllt?

  • Eclipse Android ändern API Level
  • Import-android-Pakete können nicht aufgelöst werden
  • Bug mit Override-Annotationen in Eclipse
  • ImageView wird nach dem Drehen auf den ursprünglichen Zustand zurückgesetzt?
  • Android: Vermeidung von Crashing von App wegen unbehandelt Fehler
  • Wie loswerden "Diese App verursacht Ihr Gerät läuft langsam" Benachrichtigung (App Entwicklung Zeit)?
  • BEARBEITEN:

    Ich habe ein bisschen mehr Forschung gemacht und ich denke, die Frage, die ich wirklich versucht habe, hier zu fragen war, ob das Android-Betriebssystem oder das Telefon selbst würde die letzte bekannte Position für den Netzbetreiber als das Telefon auf verschiedenen Handy-Türme gesperrt zu aktualisieren Oder wifi Netzwerke. Die Antwort scheint nein zu sein. Nach der Kraft, die alle Apps auf meinem Telefon stoppt, die ich mit der Interaktion mit Standortdiensten kenne, hat der letzte bekannte Standort die Aktualisierung beendet. Also, ich vermute, dass diese Tage Chancen sind, dass die meisten Handys haben einige Standortservices laufen im Hintergrund Aktualisierung der letzten bekannten Ort, aber das Telefon selbst wird es nicht tun. Daher denke ich, dass ich mit irgendeiner Form von Anfordern von Standortaktualisierungen gehen werde, wenn der letzte bekannte Ort zu alt ist.

  • Wie man die benutzerdefinierte Ansicht im ADT Graphical Layout Editor debuggt
  • Verwenden von Vermögenswerten in robolectric Tests
  • Verwendung von sendBroadcast ()
  • Kann nicht android / sdk / build-tools / 23.0.2 / aapt laufen
  • Problem Schieben großer Datei auf Emulator / SDcard mit Eclipse DDMS
  • Wie erstelle ich Renderscript-Skripts auf Android Studio und mache sie laufen?
  • 2 Solutions collect form web for “Wie zuverlässig ist LocationManager's getLastKnownLocation und wie oft wird es aktualisiert?”

    GetLastKnownLocation () gibt nur das letzte Update zurück. Also, wenn keine Standortanbieter aktualisiert werden, wird der Rückgabewert von getLastKnownLocation () nicht geändert. Das Objekt-Objekt wird Ihnen auch die Genauigkeit und die Zeit des Fixes.

    Ich würde diesen Beitrag für weitere Informationen anschauen. Sie könnten eine Version des One-Shot-Standorts verwenden.

    http://android-developers.blogspot.com/2011/06/deep-dive-into-location.html

    Frohnzie ist richtig über getLastKnownLocation. Die Lage ist eine teure Bedienung, also passiert es nur, wenn eine App es anfordert. Ich habe oft 30 Meilen oder so gefahren, öffnete die Foursquare App auf meinem Handy, und es zeigte mir Venus, die 30 Meilen entfernt waren. Klar waren sie mit getLastKnownLocation.

    Für Ihren Anwendungsfall würde ich LocationManager.requestLocationUpdates empfehlen. Sie können eine Genauigkeit und ein Timeout angeben. Also, wenn das Telefon kann nicht schnell eine grobe Schätzung der Lage des Benutzers finden, können Sie einfach auf den Standort verzichten, da es nicht entscheidend für Ihre Anwendung ist.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.