4

我正在实现一个具有最低 API 级别 14(这很重要)并且需要一致的间隔测量的应用程序。不需要毫秒精度,它只需要始终计算时间(经过的秒数)。

到目前为止,为了处理时间间隔,我知道这些解决方案:

  1. System.nanoTime()- 如果 Android 正在运行,效果很好,但在深度睡眠时停止(这很糟糕)。
  2. System.currentTimeMillis()- 好,但不合适,因为它可以由用户或使用setCurrentTimeMillis(long).
  3. SystemClock.elapsedRealtimeNanos()- 即使在深度睡眠时也计算经过的时间,但需要 API 级别 17。

是否有另一种方法可以在 API 14 上获得合理的第二精度间隔测量?
我想过使用System.currentTimeMillis()监听广播意图来查看系统时钟是否发生了变化。然而,这似乎不是最好的解决方案。

4

1 回答 1

4

您是否尝试过SystemClock.elapsedRealtime()

于 2014-11-01T01:09:11.790 回答