GPS-Update-Intervall ist schneller mit gutem Signal?
-
28-09-2019 - |
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
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 ...