【发布时间】:2012-11-21 19:07:30
【问题描述】:
this 的问题与我的问题基本相似,我尝试在每 1 秒运行一次可运行对象的服务上使用计时器,该可运行对象会更新其他活动中的某些 UI。
此活动可以在后台运行或停止,但服务不能停止倒计时,正如附加问题中的人所说,我有时也会在唤醒手机时同时运行所有可运行文件。
他得到的答案是使用 AlarmManager,但 Android 文档不鼓励使用 AlarmManager 来处理超时和滴答声,并建议使用处理程序,所以有人能举例说明如何正确使用处理程序吗?
请注意,当手机进入睡眠状态时问题开始出现,并且仅在一段时间后,Timer 可以正常工作 30 分钟,但在几个小时内就不行了......
【问题讨论】:
-
CountDownTimer 只是一个带有几个额外功能的 Handler,因此“使用 Handler 类实现倒数计时器”将有一个 Handler 调用一个 Handler……我建议跳过 CDT。无论如何,您是否需要在屏幕关闭时运行每个滴答声,或者仅在屏幕重新打开时计时器是最新的?
-
嗯,你的第二个想法我想想就很吸引人,我想不通!但第一个是我目前想要的......