THill wrote:
> Unfortunately, my production app has specific power usage constraints
> imposed by the manufacturer/carrier (especially with the device
> asleep), and it doesn't seem there is a good way to make sure the app
> completely goes dormant when the device sleeps.  Any suggestions are
> welcome.

I'd start by using AlarmManager without a _WAKEUP style alarm, instead
of having some Timer going. This would let you get rid of your process
from memory.

Those alarms will still get fired "the next time the device wakes up",
and I'm not sure if that's just the CPU being on or if that waits until
the screen is on.

If that is still too frequent, then you can watch for ACTION_SCREEN_OFF
and ACTION_SCREEN_ON broadcasts and disable/enable your alarms on that
condition. Unfortunately, I think those can only be caught via a
BroadcastReceiver registered via registerReceiver(), which brings you
back to having a service in memory all the time.

If the device you are running is going to be Android 2.1 or higher, you
have another option: isScreenOn() on PowerManager. Check that on your
alarms and use it to tune your alarm frequency back to as slow as you
can stand, bearing in mind that you won't know if the screen turns back
on until the next alarm.

-- 
Mark Murphy (a Commons Guy)
http://commonsware.com | http://twitter.com/commonsguy

_The Busy Coder's Guide to Android Development_ Version 3.0
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

Reply via email to