测量Android上的长时间(重新启动)

时间:2013-12-10 20:00:08

标签: android time reboot elapsedtime time-measurement

我需要测量Android上的长时间,并且可能会在设备之间重新启动。

根据我的理解,每次设备重启时都会重置System.nanoTime()System.currentTimeMillis()不可靠,因为用户可以更改它。

我提出的唯一解决方案是收听ACTION_SHUTDOWNBOOT_COMPLETED,使用System.currentTimeMillisec()计算已用时间(用户无法在设备运行时更改时钟时间)关闭,希望:))并将其添加到我关闭之前的最后System.nanoTime()

老实说,我不喜欢这个解决方案,因为它非常昂贵(我需要收听2个广播事件)并且不准确,但我无法想出任何其他方法来做到这一点。

有什么想法吗?原生解决方案对我也有好处。

1 个答案:

答案 0 :(得分:0)

通过使用互联网时间服务器获取检查时间,您可以绕过用户更改时间。有几种方法可以做到这一点。

如果你只是坚持这个值,那么用户就无法搞砸你的计算。