我的应用程序使用Android 4.4.X中引入的step detector sensor API's在后台步数计数中执行。SensorEvent.timestamp不一致
对于我的应用程序来说,了解每个步骤事件产生的确切时间(至少精确度)至关重要。
因为我执行的是sensor batching,调用时间onSensorChanged(SensorEvent event)
与步骤事件发生的时间不同 - 我必须使用event.timestamp
字段来获取事件时间。
了解这个字段的文档是:
在纳秒的时间在该事件发生
问题:
在一些设备(例如摩托X 2013)似乎这个时间戳是启动以来纳秒内的时间,而在某些设备(如Nexus 5)中,它实际上会返回纳秒内的通用系统时间,与System.currentTimeMills()/1000
相同。
我明白了,有已经是一个 old open issue有关,但由于传感器配料介绍 - 成为使用此字段知道事件的时间很重要,它不可能再依靠System.currentTimeMills()
我的问题:
我应该怎么做才能在所有设备上获得系统毫秒级的事件时间?
我相信你的解决方案是我能得到的最佳答案。谢谢 – 2015-04-08 17:12:22
哇,这是令人难以置信的。 – Michael 2017-10-09 04:23:57