我有一个Service
,其中有两个TimerTask
以 2 分钟的频率运行(由用户偏好设置,从 2 到 30 分钟。)。
现在这工作正常,但是当手机进入睡眠状态(灯关闭并且手机处于锁定状态)时,这不能按预期工作。所以我想我需要为此实现唤醒锁..
如果是这样,使用唤醒锁的最佳方法是什么。
我发现我们也可以使用Alarmmanager
..
请帮助以及我应该在哪里实现这个..(在 oncreate 方法或扩展 timetask 的类中)。
Andoid 2.2 塔吉特版
通常使用唤醒锁是非常非常罕见的需求。它会对电池寿命产生重大影响,并且很容易出错,在这种情况下,wakelock 根本不会被释放。
出于您的目的,AlarmManager ( http://developer.android.com/reference/android/app/AlarmManager.html ) 是理想的解决方案。它保证在您执行期间不会执行睡眠,但在此执行期间(2 或 30 分钟)设备可以进入睡眠状态并节省大量电池。系统将在您执行下一次执行时唤醒。
祝你好运