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