2017-12-31 127 views
0

Ich mache eine Android-App, die jeden Tag alle von einem Benutzer in einem fahrenden Fahrzeug gereisten Entfernungen erhalten muss. Ich habe mir die Android-APIs angeschaut, insbesondere LocationService, und meine derzeitige Idee war, den Standort des Benutzers in einer bestimmten Anzahl von Sekunden/Minuten zu erhalten, und wenn die Entfernung um einen festgelegten Betrag zunimmt (genug, dass es nicht nur minimale Bewegung ist)) Dann bestimmt es, dass sie sich bewegen und beginnt dann, ihre Long/Lat zu einer Arraylist hinzuzufügen. Wenn dann die Entfernung zwischen Ortsanforderungen wieder minimal ist, hört sie auf, die Orte zu einer Arraylist hinzuzufügen, und berechnet den Abstand zwischen allen Anforderungen unter Verwendung von distanceTo().Ist das eine gute Möglichkeit, die zurückgelegte Strecke im fahrenden Fahrzeug den ganzen Tag über zurückzulegen? Android

Es scheint jedoch, dass Google die Anzahl der Standortanforderungen jede Stunde beschränkt und dies würde meine Idee obselete machen.

Hinweis: Wenn auf Android 8.0 (API-Stufe 26) und höher eine App im Hintergrund ausgeführt wird, wenn der aktuelle Standort angefordert wird, berechnet das Gerät den Standort nur einige Male pro Stunde. Informationen dazu, wie Sie Ihre App an diese Berechnungsgrenzen anpassen können, finden Sie unter Hintergrund-Standortgrenzwerte.

Was sind meine anderen Optionen? Wie könnte man am besten feststellen, dass sich der Benutzer in einem fahrenden Auto befindet, oder ist meine Idee akzeptabel?

Vielen Dank im Voraus für Ihre Hilfe!

+0

Gilt diese Einschränkung auch für einen Vordergrunddienst? – Emil

+0

Nein die Begrenzung gilt nicht, wenn im Vordergrund, nur der Hintergrund – RJBo

Antwort

0

Ich habe an einem OBD-Chips mit verschiedenen Varianten wie GPS, Plugging gearbeitet, die Ihnen ermöglicht, genaue GPS-Daten konsistent zu bekommen.

Weiter können Sie Android-Anwendung mit dem Chip über Bluetooth 2.0 oder BLE zu verbinden und können Daten in bestimmten Abständen abrufen.

+0

Danke für die Antwort, aber ich brauche tatsächlich die Strecke auf allen fahrenden Fahrzeugen so einschließlich Busse und Züge. Ich habe über Bluetooth nachgedacht, aber da nicht jeder ein Bluetooth in seinem Auto hat, ist es nur eine zusätzliche Option, aber nicht die Lösung. Danke – RJBo

+0

@RJBo Lesen Sie mehr über On-Board-Diagnose https://en.wikipedia.org/wiki/On-board_diagnostics, soweit ich weiß, jedes Auto gestartet später 1995-2000 hat OBD-Port. –

Verwandte Themen