查看Android当前时间?

时间:2014-09-04 14:25:44

标签: android

我知道我们可以使用System.currentTimeMillis();来获取Android中的当前时间。

但如果我使用该代码,当用户手动更改时间时,该值将相应更改。

除了从后端通过API获取当前时间(考虑到突然出现低信号),我是否可以使用任何Android API来检测时间变化或实际当前时间?

3 个答案:

答案 0 :(得分:1)

  

我是否可以使用任何Android API来检测时间变化或实际当前时间?

没有。从操作系统的角度来看,用户设置的时间是"实际当前时间"。它是用户的设备,而不是您的设备。

欢迎您考虑其他事项"实际当前时间",但任何此类时间源都将在设备之外,例如GPS信号,SNTP时间服务器等。

答案 1 :(得分:0)

如果您对实际时间不感兴趣,可以尝试SystemClock.uptimeMillis()SystemClock.elapsedRealtime()

答案 2 :(得分:0)

理论上你可以做以下事情:

  1. 记录"实际当前时间"在应用程序生命周期的某个时刻(启动时,首次连接到互联网),并与设备时间进行比较,并记录增量时间(时差)

  2. 挂钩用户更改日期/时间..查看stackoverflow帖子:System datetime has changed event,并更新新的增量时间。

  3. 似乎比较直接(理论上)。因此,至少如果后端不可用,您可以稍微依赖此增量时间。