如何在Android中制作持久的CountdownTimer?

时间:2015-05-25 15:39:10

标签: android timer countdowntimer

我想制作一个CountDownTimer,并且在每个刻度中我想要显示一个Activity中的倒计时。 所有过程在单个活动中都正常,但如果我关闭应用程序,计数器将重置。即使应用程序关闭,我也需要一种方法来保留计数器。 我不想使用

实现
  

System.currentTimeMillis的()

因为如果用户更改了系统时钟,它会更改我的计数器。

任何人都可以帮助我吗?任何示例代码?感谢

1 个答案:

答案 0 :(得分:1)

结帐SystemClock.elapsedRealtime()。此方法返回一个不受系统日期影响的值 - 因此用户无法对其进行操作,除非重新启动手机,否则它非常适合您的倒计时。

以下是关于如何使用它的想法:

  1. 将当前值保存到SharedPreferences以及您当前正在倒计时的标记。
  2. 创建Handler并使用其postDelayed方法定期更新剩余时间(简单的减法和除法)。它应该在onResume中启动,并在onPause停止。
  3. onResumepostDelayed回调中,检查计时器是否已过期并自行销毁手机。 :)