Maybe your app running it coincidently causing a problem with
something in the SenseUI widgets - they do fancy stuff with messages
etc don't they?

On Jan 9, 3:32 am, Doug <[email protected]> wrote:
> Hello,
>
> I have an app that works on any version of Android from 1.5 up - this
> makes it compatible with the HTC Hero.  Problem is, the Hero stays
> "awake" 100% of the time when its running.
>
> For some strange reason (and this has only been reported to me by Hero
> users, although other devices could be having the same problem) the
> Hero will just *not* go to sleep when my app is running.  The
> "Settings -> About Phone -> Status -> Awake Time" always shows the
> same value as "Up Time" when my app is running.  The definition of
> this value seems to be "What percentage of the uptime has the phone
> NOT been in deep-sleep".
>
> I've done a decent amount of searching on this problem.  I see plenty
> of evidence that its a known issue with many apps (even some of HTC's
> own components) and that its been at least partially addressed by a
> firmware update late last year, but there doesn't appear to be any
> documentation as to what actually causes the problem.
>
> So I spent a considerable amount of time analyzing my app and
> reworking large chunks of code that just might have been causing
> problems.  No luck.
>
> A bit about the app:
> * It is set up to run on phone boot
> * It registers its own ContentProvider
> * It has receivers for Phone status (calls), Data connectivity,
> Bluetooth availability, incoming SMS messages, and the apps own
> broadcasts
> * It has a "service" component that is started with the "startService
> (Intent)" call.  The service shuts itself down when it's completed its
> work
> * It uses both Handler messages, and Broadcast Intents to communicate
> events of interest.
> * The service will spawn one or two worker threads to do its bidding,
> when the workers are done they will stop.
> * The app sets alarms to be woken up periodically (default once per
> hour) so it can connect to a server to check for updated data.
> * Because the background worker threads use HTTP to connect to
> servers, they are "protected" by WakeLocks (a wake-lock is acquired
> when the task begins, and is released when the task completes)
> * There is not a single "sleep" anywhere in the code (I've read
> elsewhere that "sleeping" is disapproved of)
> * I have logging from logcat showing that the background threads,
> service and WakeLocks are correctly releasing themselves and stopping
> * "Spare Parts" shows that the "Partial Wake" usage of my app is
> actually very low (sometimes doesn't even register on the list)
>
> From a previous post by Diane:
>
> > When no wake locks are held, the CPU will not run at all, and time has
> > effectively stopped for most scheduling (that is scheduling based on
> > SystemClock.uptimeMillis(), which is what most things like Handler and Java
> > timeouts use).
>
> So, given that my app isn't holding any WakeLocks, I don't understand
> what could be causing the phone to remain "awake" (screen off) when my
> app is not doing anything.  Unless there is a WakeLock being held
> somewhere... that the mere startup of my app causes to be 'acquired'.
>
> If anyone has any ideas - feel free to voice them.
>
> If anyone can comment on whether they have encountered (and resolved)
> this problem I'd be grateful to hear from you too.
>
> If anyone has any ideas as to whether an app (or system component) can
> keep the phone awake without it being visible to Spare Parts.... you'd
> be my hero (pun intended)
>
> Doug
-- 
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