【问题标题】:How can I get correct current date and time for android device while device is offline设备离线时如何获取 android 设备的正确当前日期和时间
【发布时间】:2016-01-31 16:34:27
【问题描述】:

我创建了一个安卓应用,在这个应用中,用户可以保存一些任务。这些任务保存在设备中,当用户上线时,任务将同步到服务器。 当用户保存任务时,我需要知道正确的日期和时间。 Calendar.getInstance()new Date() 之类的代码返回设备时间,如果设备时间不正确,则使用错误日期保存任务。这个应用程序离线工作很重要。并且由于这个应用程序的繁琐,用户可能会故意更改设备时间。

【问题讨论】:

  • 你需要一个服务器和一个端点来返回正确的日期,因为设备只能给你设备时间。
  • @Varundroid 所以在这种情况下,如果用户离线,他将无法保存任务

标签: java android date time


【解决方案1】:

所以我最终会遇到这样一种情况,即用户每次设备重启最多只能连接一次互联网。

当用户启动 (BOOT_COMPLETED BroadcastReceiver) 或网络状态更改 (CONNECTIVITY_CHANGE and WIFI_STATE_CHANGED BroadcastReceiver) 时,我尝试连接到 NTP 服务器,然后我将该日期和 SystemClock.elapsedRealtime() 存储在数据库中。之后,当我想获得正确的日期时,我只需获取新的SystemClock.elapsedRealtime() 并计算该值与数据库中 elapsedRealtime 值的差值,并将该差值添加到我存储在数据库中的日期中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2023-03-20
    • 1970-01-01
    • 2015-10-31
    • 2016-03-01
    • 2012-07-15
    • 1970-01-01
    相关资源
    最近更新 更多