gpt4 book ai didi

java - 完全消除对 Android 时钟的依赖并使用来自服务器的自定义时间

转载 作者:行者123 更新时间:2023-11-30 11:42:56 25 4
gpt4 key购买 nike

我有一个应用程序,它使用平板电脑记录信息,平板电脑同步到服务器,然后在服务器上运行报告结果。用户一整天都在使用平板电脑,而且一整天都在旅行。

用户完成这些任务的时间对报告至关重要,我们曾多次遇到无法依赖设备时间的情况。

  1. 用户有时会在设备上手动将时间设置为不同的时间,以便看起来他们完成了更多工作 - 这种情况发生的次数超出了我们的预期
  2. 当依靠设置为“自动”的时间时,时间有时会随着用户在网络之间移动而跳跃
  3. 当平板电脑最初开机时,设备时间有时会设置为 1970

我有一个网络服务来获取当前未使用的服务器时间,因为我们不能依赖具有互联网连接的用户,因为由于工作的性质,他们通常根本没有任何连接。但是,他们通常每天同步一次数据,或者至少每隔几天同步一次。

我想创建一些东西来获取服务器时间并从那时起计算时间,应用程序将使用这段时间。只要他们连接,这个时间就会更新,只是为了确保时间同步。有没有人对执行此操作的最佳方法有任何建议?请记住,我们发送的时间至关重要 - 如果多次误报,可能会导致有人丢掉工作。

提前致谢!

最佳答案

Android 确实有 3 种不同的计时器...... SystemClock

其中一个对你有用,uptimeMillis()

应用程序启动后,保存当前的 uptimeMillis...当应用程序结束时...您可以从“uptimeMillis() - oldUpTimeMillisThatWasStored”中获得差异...

Android 会在时间或时区更改时发送广播...如果你有一个广播接收器从 list 文件中捕获这些变化......您会知道时间何时更改(即使您的应用程序未运行)。

ACTION_TIME_CHANGED

关于java - 完全消除对 Android 时钟的依赖并使用来自服务器的自定义时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11471544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com