我想制作一个CountDownTimer,并且在每个刻度中我想要显示一个Activity中的倒计时。 所有过程在单个活动中都正常,但如果我关闭应用程序,计数器将重置。即使应用程序关闭,我也需要一种方法来保留计数器。 我不想使用
实现System.currentTimeMillis的()
因为如果用户更改了系统时钟,它会更改我的计数器。
任何人都可以帮助我吗?任何示例代码?感谢
答案 0 :(得分:1)
结帐SystemClock.elapsedRealtime()。此方法返回一个不受系统日期影响的值 - 因此用户无法对其进行操作,除非重新启动手机,否则它非常适合您的倒计时。
以下是关于如何使用它的想法:
SharedPreferences
以及您当前正在倒计时的标记。Handler
并使用其postDelayed
方法定期更新剩余时间(简单的减法和除法)。它应该在onResume
中启动,并在onPause
停止。onResume
和postDelayed
回调中,检查计时器是否已过期并自行销毁手机。 :)