设备离线时如何获取Android设备的正确当前日期和时间
我创建了一个android应用,在此应用中,用户可以保存一些任务。这些任务将保存在设备中,并且当用户上线时,任务将同步到服务器。用户保存任务时,我需要知道正确的日期和时间。诸如Calendar.getInstance()
或new
Date()返回设备时间之类的代码,如果设备时间不正确,则任务会以错误的日期保存。这个应用程式必须离线运作,这一点很重要。并且由于该应用程序的冗长性,用户可能有意更改设备时间。对不起,我的英语不好。
回答:
当用户启动(BOOT_COMPLETED BroadcastReceiver
)或网络状态更改(CONNECTIVITY_CHANGE and
WIFI_STATE_CHANGED
BroadcastReceiver)时,我尝试连接到NTP服务器,然后将该日期存储SystemClock.elapsedRealtime()
在数据库中。之后,只要我想获得正确的日期,就可以SystemClock.elapsedRealtime()
从数据库中获取新值并计算该值与elapsedRealtime值的差,并将该差添加到我存储在数据库中的日期中。
以上是 设备离线时如何获取Android设备的正确当前日期和时间 的全部内容, 来源链接: utcz.com/qa/404237.html