标签:sensor gps timestamp android
我刚刚意识到,在android上,您从GPS位置更新获取的时间戳自纪元以来以毫秒为单位,而SensorEvent更新(例如加速度计的)自启动以来以ns为单位.
我想将GPS时间戳转换为SensorEvent时间戳的格式,有人知道这样做的好方法吗?
我尝试了以下方法:
我从时代开始就测量了一次系统启动时间:
startupTime = System.currentTimeMillis() - SystemClock.uptimeMillis();
对于每个gps位置更新,我减去启动时间:
timestamp = loc.getTime() - startupTime;
但是那些转换后的时间戳仍然不符合SensorEvent时间戳,仍然相差几秒钟…
解决方法:
不要使用SystemClock.uptimeMillis(),因为它测量的是自启动以来的时间,而没有设备处于睡眠模式的时间.而是使用SystemClock.elapsedRealtime().
标签:sensor,gps,timestamp,android 来源: https://codeday.me/bug/20191201/2079633.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。