1

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

我只想知道正常运行时间计时器是否已重置,以了解时钟是否仍然可靠。

如何?

4

1 回答 1

4

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

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

该值只会在设备重新启动时重置。收听广播boot_complete你就会知道那是什么时候了。

文档中清楚地指出了 updateMillis() 的问题:

uptimeMillis():返回自启动以来的毫秒数,不计算深度睡眠所花费的时间。注意:此值可能会偶尔重置(否则会回绕)。

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

于 2013-05-04T09:26:06.957 回答