Wie zur Zeit aus GPS-Signalerfassung
Meine app nutzt die LocationListener um eine position zu fixieren und dann removeUpdates()
einmal pro minute (um die Batterie zu schonen). Das problem ist, dass, wenn ein Benutzer bewegt sich innerhalb, dann wird es ständig suchen für ein signal, das brennen mehr Akku. Ich Frage mich, ob jemand weiß, der eine öffentliche Methode innerhalb der Standort-Manager kann ich benutzen, um removeUpdates wenn ein signal nicht erworben innerhalb von 15 Sekunden. Ich würde dann überprüfen Sie für eine position fix alle fünf Minuten, bis der Benutzer sich im freien wieder. Macht das Sinn? Vielleicht gibt es eine bessere Methode, um timeout-GPS-signal-übernahme? Ich schaute durch den Standort-Manager public-Methoden, aber ich kann nicht scheinen zu finden ein Weg, es zu tun. Vielen Dank für Eure Hilfe!!! -Dom
- Kann der folgende link Ihnen helfen. stackoverflow.com/questions/2021176/android-gps-status/...
- Nicht die einfache Antwort, die ich erhofft hatte aber danke für die info!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Obwohl GPSmaster Antwort ist akzeptiert, ich will post den link elegantere und einfachere Lösung, denke ich - https://gist.github.com/777790/86b405debd6e3915bfcd8885c2ee11db2b96e3df. Ich habe es selbst ausprobiert und es hat funktioniert =)
Falls der link nicht funktioniert, dies ist ein custom
LocationListener
durch amay077:Also das ist, was ich am Ende machen.
Dies ist, was ich Hinzugefügt, um die LocationListener beachten Sie die globalen Variablen timertest und loccounter:
Starte ich den timer direkt vor der Anforderung location updates.
und eine Letzte Methode in der Lage Hörer:
Hoffe, dies hilft jemand
Gut meine Lösung für dieses problem ist etwas sehr einfach, und ich weiß nicht, ob es eine gute übung.
Nehmen wir an, wir haben eine
long
namenstimeToQuit
bestimmt, wie viele millis willst du warten, bevor abgebrochen wird die Suche nach einer position, setzen Sie einfach:Natürlich, Sie haben einen LocationListener und Ihre eigenen LocationListener.
Werte in den locationManager.requestLocationUpdates sind aus meiner app, sodass Sie propapbly sollten Sie Sie anpassen können.
Dieser code funktioniert wie ein Charme für mich. Ich weiß, ich bin ein wenig spät, aber ich konnte nicht finden, dass dieser Ansatz überall und vermutlich hilft es jemanden.
Cheers