Meine Anwendung führt im Hintergrund Schrittzähler mit der in Android 4.4.X eingeführt step detector sensor API's.SensorEvent.timestamp Inkonsistenz
Es ist wichtig für meine App zu wissen, die genaue Zeit (mindestens Genauigkeit einer Sekunde) jedes Schritt Ereignis ist angesammelt.
weil ich sensor batching durchführen, die Zeit onSensorChanged(SensorEvent event)
wurde nicht die gleiche Zeit wird aufgerufen, wenn der Schritt Ereignis stattfand - ich muß das event.timestamp
Feld verwenden, um die Ereigniszeit zu bekommen.
die Dokumentation zu diesem Bereich ist:
Die Zeit in Nanosekunden an dem das Ereignis
Das Problem passiert:
Bei einigen Geräten (wie Moto X 2013) scheint, als wäre dieser Zeitstempel die Zeit in Nanosekunden seit dem Booten, während in einigen Geräten (wie Nexus 5) tatsächlich die universelle Systemzeit in Nanosekunden wie System.currentTimeMills()/1000
zurückgegeben wird.
Ich verstehe, gibt es bereits ein old open issue darüber, aber da der Sensor batching eingeführt wird - es wichtig wird dieses Feld zu verwenden, um die Ereigniszeit zu kennen, und es ist nicht mehr möglich, auf die System.currentTimeMills()
verlassen Meine Frage:
Was soll ich tun, um immer die Ereigniszeit in System Millisekunden über alle Geräte zu erhalten?
Ich glaube, Ihre Lösung ist die beste Antwort, die ich bekommen konnte. Danke –
Wow, das ist unglaublich. – Michael