我有一个严重依赖当前时间戳的应用程序。目前,当用户提交请求时,我使用 获取 UTC 中的当前时间戳System.currentTimeMillis()。虽然这工作得很好,但当用户开始Date/Time在设备上操作它们时就会出现问题,并会导致时间戳不准确。
那为什么要在客户端呢?为什么不在服务器上处理呢?嗯,我的应用程序需要离线工作。jobQueue当互联网连接不可用时,我的所有请求都会被推送。在这些情况下,我必须知道用户执行操作的原始时间,因此如果我在 提交请求4:02pm,但由于网络问题,服务器只会在 左右收到它7:30pm,服务器必须知道我在 发送请求4:02pm。
现在我考虑了哪些选择?
BroadcastReceiver任何操作意图Date/Time,然后存储偏移量,以便每当用户提交请求时,我都会使用偏移量计算同步时间,以确保时间戳是准确的。NTP服务器与我的设备同步时间。我不完全确定哪一个是最佳的(假设我已经列出了所有可能的解决方案)。如果还有其他我没有想到的解决方案,请告诉我。
PS 如果我碰巧使用 来BroadcastReceiver监听设备上的任何日期时间操作,我将如何计算其中的偏移量?
| 归档时间: |
|
| 查看次数: |
2314 次 |
| 最近记录: |