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

这些是我执行的步骤:


获取Posix时间
单击一个按钮并获得真实的时间戳,即将经过的时间添加到服务器时间中(不能依赖客户端)
将事件的Posix时间发送到服务器


我使用了Java.Date,但是我很确定这很容易实现。想象一下在步骤1和2之间,我更改了时钟。

现在,另一个问题是即使手机处于空闲状态也要测量时间。

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

我搜索了stackoverflow,但发现的所有示例都带有日期。

最佳答案

您应该根据所需的精度考虑使用SystemClock.elapsedRealtime()SystemClock.elapsedRealtimeNanos()

保证SystemClock是单调的,即使CPU处于省电模式也将继续滴答。

关于java - 可靠地获取时差-Android,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49743137/

10-12 03:48