Frage

Ich versuche, mein Programm zu nehmen Lage Updates alle 10 Sekunden statt ständiges Updates zu begrenzen, um Batterieverbrauch zu reduzieren. Dies funktioniert gut, wenn ich zuhause bin das Debuggen und das Signal schwach ist (dh das GPS-Symbol blinkt), aber wenn das Telefon eine passende Lösung erhält (dh das GPS-Symbol ist statisch) das Aktualisierungsintervall erhöht sich auf etwa eine Sekunde.

Ich weiß, dass der Code mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, updateInterval*1000, 0, this); nicht die GPS-Kraft-Updates nehmen genau im vorgegebenen Intervall, aber meiner Meinung nach sollte es nicht, hängt von der Stärke des Signals und fluktuiert, dass viel.

Irgendwelche Ideen?

UPDATE: siehe Kommentar

War es hilfreich?

Lösung

Ich vermute, dass der GPS-Funk in einer Art und Weise funktioniert, wo es entweder an GPS-Satelliten verbunden ist oder nicht. Wenn es angeschlossen ist, sendet das Android SDK Sie aktualisiert, so oft wie sie von der GPS-Hardware verfügbar sind. Wenn es keine vollständige GPS-Verbindung haben es AGPS-Updates auf das Senden nach fällt zurück auf das, was Sie angefordert haben.

Wenn Sie nur Updates wollen alle 10 Sekunden, dann sollten Sie die letzte empfangene Location Zeit Wert in Ihren Zuhörern speichern, und wenn Sie einen neuen Location überprüfen die Zeit mit dem alten Wert zu empfangen; ignorieren Sie es, wenn es zu häufig ist (oder etwas tun klüger wie die Genauigkeit überprüft und den alten Wert ersetzt, etc).

Andere Tipps

Vielleicht klappt es langsamer, weil Sie debuggen, aber nicht, weil das Signal ist schwach! Versuchen Sie, Tests zu machen mit getrennten Debugger drinnen ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top