知道正常运行时间计时器是重置还是Android已重启

时间:2013-04-27 18:00:57

标签: java android clock reboot uptime

我的应用程序中创建了一个独立的时钟。时钟作为活动中的不同线程运行,从我设置的基准时间开始。我使用设置时钟时的uptimemillis和当前的uptimemillis之间的差异来更新时钟。但uptimetimer可以通过Android重置,并在Android重启时重置。

我只想知道正常运行时间是否重置,以确定时钟是否仍然可靠。

如何?

1 个答案:

答案 0 :(得分:4)

根据文档,您可以使用SystemClock.elapsedRealtime()

  

elapsedRealtime():   返回自引导以来的毫秒数,包括睡眠时间。

此值仅在重启设备时重置。收听广播boot_complete,你会知道它是什么时候。

在文档中清楚地注明了updateMillis()的问题:

  

uptimeMillis():   返回自引导以来的毫秒数,不计入深度睡眠所花费的时间。注意:此值可能偶尔会重置(否则会被包围)。

根据我对文档的理解,通过使用elapsedRealtime,您的用户无法操纵您的计数器。