可靠地获得时差 - Android

时间:2018-04-09 23:32:25

标签: java android

给定服务器的Posix时间(在应用程序启动时我得到的时间以秒为单位)我想以最可靠的方式向服务器发送事件后经过的时间。

这些是我所做的步骤:

  1. 获取Posix时间
  2. 点击按钮获取真正的时间戳,即将经过的时间添加到服务器时间(不能依赖客户端)
  3. 将事件的Posix Time
  4. 发送给服务器

    我使用的是Java.Date,但我很确定这很容易上当受骗。想象一下,在步骤1和步骤2之间,我改变了时钟。

    现在其他问题是即使手机闲置也要测量时间。

    所以我真正的问题是如何可靠地测量android中的时差。

    我在stackoverflow中搜索过,但我找到的所有例子都是日期。

1 个答案:

答案 0 :(得分:2)

您应该考虑使用SystemClock.elapsedRealtime()SystemClock.elapsedRealtimeNanos(),具体取决于您想要的精度。

SystemClock保证是单调的,即使在CPU处于省电模式时也会继续打勾。