即使屏幕关闭,我也试图实施一项每秒都有效的服务。
我尝试过使用处理程序和timertask以及部分唤醒锁定而没有运气。
据我所知,不可能以如此低的间隔使用警报管理器。
我如何实现这一目标?
更新
事实证明,我所有不同的计时器实现都有效。手机重启后,唤醒锁定表现正常。
根据isHeld()获取并正确释放唤醒锁,但它表现得好像从未获得过。它可能不是。
答案 0 :(得分:0)
你需要使用CountDownTimer和唤醒锁。请参阅以下内容:
课程概述
安排倒计时,直到将来的时间,定期 沿途的间隔通知。显示30的示例 文本字段中的第二个倒计时:
new CountDownTimer(30000, 1000) { public void onTick(long millisUntilFinished) { mTextField.setText("seconds remaining: " + millisUntilFinished / 1000); } public void onFinish() { mTextField.setText("done!"); } }.start();
对onTick(long)的调用将同步到此对象,以便之前不会发生对onTick(long)的一次调用 之前的回调已完成。这只有在相关时才有意义 onTick(long)的实现需要一些时间来执行它 与倒计时间隔相比显着。
请注意获取唤醒锁很重要,否则设备可能会进入睡眠状态。有关唤醒锁的更多信息,请参阅 - http://developer.android.com/training/scheduling/wakelock.html