gpt4 book ai didi

java - 自首次启动以来的时间

转载 作者:IT老高 更新时间:2023-10-28 20:41:24 24 4
gpt4 key购买 nike

我正在开发一个 android 应用程序,并遇到了确定系统首次启动时间的问题。我的意思是我需要测量从设备首次启动到已经过去了多少时间

我知道监听 ACTION_BOOT_COMPLETED 并将任何内容保存在 SharedPreferences 中的解决方案,但我需要另一个解决方案,因为这个解决方案在某些情况下不起作用。也许有任何系统属性?

用例(摘自discussion)

  1. 我从服务器收到的每个文件的文件名都包含一个时间戳取自 System.currentMillis()
  2. 我比较这些时间戳以确定哪个文件是最新的。
  3. 现在,用户提前几个月更改系统时间。
  4. 我仍然能够确定用户更改系统时间后下载的最新文件。
  5. 现在,用户将时间改回原来的设置。
  6. 在比较时间戳时,第 4 步下载的文件总是胜出。

解决这个问题的 Elixir 是一个时间戳,它计算自首次启动(出厂重置后)以来的秒数。就像 SystemClock.elapsedRealtime() 但每次启动后都不会重置。不幸的是,到目前为止的答案告诉我们,这个 Elixir 并不存在。

但是,许多答案显示了如何解决该问题的多种选择。 OneWorld123 评论了每个答案,这是否符合他的需求。

最佳答案

Maybe there is any system property?

不确定系统属性,但有SystemClock提供 API 以获取系统正常运行时间的类:

SystemClock.uptimeMillis()其中

Returns milliseconds since boot, not counting time spent in deep sleep.

您也可以使用 SystemClock.elapsedRealtime()其中

Returns milliseconds since boot, including time spent in sleep.

希望这会有所帮助。

关于java - 自首次启动以来的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23282540/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com