You need to acquire your WakeLock before calling startService(), then release the WakeLock in the service itself. You can see this in the WakefulIntentService pattern:
https://github.com/commonsguy/cwac-wakeful On Tue, May 17, 2011 at 2:03 PM, Simon Platten <[email protected]> wrote: > Sorry, > > I have a class that extends BroadcastReceiver, this class has a method > called: > > startService > > The first time I kick off the alarm I call this directly from my activity, > then for successive calls, it is called from the "onReceive" method. > > Thank you, > Simon > > On 17/05/2011 6:49 PM, Mark Murphy wrote: >> >> You do not indicate where you are doing this work. Is it in the >> BroadcastReceiver or elsewhere? >> >> On Tue, May 17, 2011 at 1:41 PM, Simon Platten >> <[email protected]> wrote: >>> >>> I am scheduling an event with the AlarmManager: >>> >>> PendingIntent sender = PendingIntent.getBroadcast(context, 12345, intent, >>> PendingIntent.FLAG_UPDATE_CURRENT); >>> AlarmManager am = >>> (AlarmManager)context.getSystemService(Context.ALARM_SERVICE); >>> am.cancel(sender); >>> am.set(AlarmManager.RTC_WAKEUP, lngNextUpdate, sender); >>> >>> The only reason I call the "cancel" method is just incase the user edits >>> the >>> action and needs to reschedule the event. Once the alarm has been >>> scheduled >>> it runs every hour for a time, each time the >>> alarm expires I call: >>> >>> PowerManager pm = >>> (PowerManager)context.getSystemService(Context.POWER_SERVICE); >>> m_wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "wprotatorReciever" ); >>> >>> perform my logic and reschedule next alarm and end with: >>> >>> m_wl.release(); >>> >>> Calling the release throws an exception, even though "m_wl" is valid. >>> The >>> problem is that for some reason the alarm stops re-scheduling itself >>> after a >>> number of runs and I have no idea why, if I go into the application and >>> kick >>> it off again it resumes without fault. >>> >>> What am I missing? >>> >>> Thank you, >>> Simon >>> >>> >>> >>> >>> >>> >>> -- >>> 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 >> >> > > -- > 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 > -- Mark Murphy (a Commons Guy) http://commonsware.com | http://github.com/commonsguy http://commonsware.com/blog | http://twitter.com/commonsguy _Android Programming Tutorials_ Version 3.4 Available! -- 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

