关于安卓传感器时间sensorEvent.timestamp的学习

安卓传感器时间戳sensorEvent.timestamp

最近做的毕设和行为识别相关,老师给了他们实验室的一个数据采集APP用来采集加速度数据。但是我发现采集数据的时间戳如下:

15 28 20 begin
0.16199169 0.0014652514 9.872587 26956276798626 
0.16119681 0.027150247 9.896097 26956296798626 
0.17395313 0.02348233 9.90011 26956316798626 
0.13310803 -0.01043872 9.872242 26956336798626 
0.15855362 -0.005391742 9.867807 26956356815814 
0.1678048 0.0353863 9.886807 26956376798626 
0.15681064 0.03686113 9.893962 26956396798626 
0.16642575 0.039379828 9.888283 26956416798626 
0.15184985 -0.0036966475 9.879559 26956436798626 
0.18136556 -0.011836933 9.855837 26956456798626 
0.18322347 -0.0032465374 9.856996 26956476798626 
0.18536867 0.024794353 9.887737 26956496798626 
0.16509457 0.049722783 9.906383 26956516798626 
  • 我上网查发现这根本不是Unix时间戳。检查源代码发现这个时间戳对应着sensorEvent.timestamp。
  • sensorEvent.timestamp是与系统启动时间相关的时间戳,若单独拿出来好像是没办法使用的。所以在源代码中修改:
Unix_timestamp = (new Date()).getTime()+ (sensorEvent.timestamp - System.nanoTime()) / 1000000L

这样就成功将安卓的传感器时间戳转换为了Unix时间戳。(注意这个时间戳是纳秒级的,我们通常使用的时间戳是毫秒级的)

附上我查这个问题时的链接

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值