Android:GPS时间戳与SensorEvent时间戳

我刚刚意识到,在android上,您从GPS位置更新获取的时间戳自纪元以来以毫秒为单位,而SensorEvent更新(例如加速度计的)自启动以来以ns为单位.

我想将GPS时​​间戳转换为SensorEvent时间戳的格式,有人知道这样做的好方法吗?

我尝试了以下方法:
我从时代开始就测量了一次系统启动时间:

startupTime = System.currentTimeMillis() - SystemClock.uptimeMillis();

对于每个gps位置更新,我减去启动时间:

timestamp = loc.getTime() - startupTime;

但是那些转换后的时间戳仍然不符合SensorEvent时间戳,仍然相差几秒钟…

解决方法:

不要使用SystemClock.uptimeMillis(),因为它测量的是自启动以来的时间,而没有设备处于睡眠模式的时间.而是使用SystemClock.elapsedRealtime().

上一篇:Android:获取当前传感器状态


下一篇:android-如何获取光传感器的特定值