Android hintergrund Standort-updates?
Ich weiß schon, wie man den aktuellen Standort des Benutzers verwenden:
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10, 500, locationListener)
Aber was sind die üblichen Schritte erforderlich, beim ausführen von location updates im hintergrund auf Android??
Muss ich die gesamte Anwendung läuft im hintergrund mit dem GPS auf??
Ich im Grunde senden möchten, der Benutzer Breitengrad, Längengrad zurück, um unsere Server in regelmäßigen Abständen, wenn nicht auf einem timer, dann vielleicht, wenn es eine Bewegung von mehr als 25m zum Beispiel.
Ich auch nicht wollen, zu töten die Batterie, die ständige Nutzung von GPS ist berüchtigt für.
Irgendwelche Ideen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde vorschlagen, dass Sie eine Klasse erstellen, die erweitert
Service
, dieser service wird im hintergrund ausgeführt. Dies ist ein Beispiel, die Speicherung der GPS-Daten in einer SQLite-Datenbank. Dies könnte zeigen Sie in die richtige Richtung.Können Sie das Mobilfunknetz für Ping Benutzer die geografischen Daten in bestimmten Abständen. Sobald Sie herausfinden, dass sich die position geändert hat, durch eine bestimmte variable können Sie dann aktivieren Sie den GPS-und Holen Sie sich exakte Koordinaten zu senden Sie zurück zu Ihrem server. Denken Sie daran, zu stoppen empfangenden Standort-updates sobald Sie fertig sind (aus offensichtlichen Batterie-Entleerung Gründen.)
Mobilfunknetz mit einer Genauigkeit von 50m, so dass möglicherweise dienen Ihren Bedarf für die wiederkehrende ping - mit einigen Kompromiss zwischen Genauigkeit und Lebensdauer der Batterie.
Diesen service habe ich genutzt, um update meinen Standort im hintergrund auf meinem localhost-server
Gut, das ist irgendwie schwer zu tun, denn wenn Sie nicht Wunsch position regelmäßig, können Sie nicht herausfinden, wenn das Telefon bewegt, und es kann schnell wie ein Auto oder langsamer als eine person, so habe ich herausgefunden, eine Möglichkeit:
Ich weiß nicht genau, wie acelerometer funktioniert auf android und was ist precision (sicher, es muss sein Gerät abhängig), aber es ist möglich, diese sensoren zu indirekt bewerten Ungefähre zurückgelegte Distanz.
[BEARBEITEN]
Beachten Sie, dass die Verwendung acelerometer einige macht, und Sie müssen es ständig läuft, so dass die Verwendung von GPS mit einem kleineren "sampling rate" kann effizienter und mit mehr Präzision sicher.