Hi all,
I am using AlarmManager to schedule a repeated action which starts a
service:

PendingIntent mAlarmSender = PendingIntent.getService(context, 0, new
Intent(context, MyAndroidService.class), 0);
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
firstRunMills, interval, mAlarmSender);

I saw the following paragraph in AlarmManager's document:
The Alarm Manager holds a CPU wake lock as long as the alarm
receiver's onReceive() method is executing. This guarantees that the
phone will not sleep until you have finished handling the broadcast.
Once onReceive() returns, the Alarm Manager releases this wake lock.
This means that the phone will in some cases sleep as soon as your
onReceive() method completes. If your alarm receiver called
Context.startService(), it is possible that the phone will sleep
before the requested service is launched. To prevent this, your
BroadcastReceiver and Service will need to implement a separate wake
lock policy to ensure that the phone continues running until the
service becomes available.

But it looks that the CPU wake lock can only be applied to pending
intents created by PendingIntent.getBroadcast. I am wondering when the
wake up lock is be released if the PendingIntent is an service. Does
anyone has insight into this?

Thank you in advance!!

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to