setKeepScreenOn() does prevent it from locking; it is just another way of
setting the window flag to keep the screen on.

PLEASE use these APIs instead of wake locks if keeping the screen on is
associated with an activity or window.  There are so many advantages: no
need to get an additional permission, no chance you can accidentally cause
the user's screen to stay on when they leave your app, no chance to have
bugs like here where you crash, and just so much easier to do.

On Thu, Feb 4, 2010 at 9:42 AM, lipinski <[email protected]> wrote:

> Thanks, but my intent is to prevent the system from dimming/locking
> the screen for a configurable amount of time - since there will likely
> be no user activity.
>
> setKeepScreenOn doesn't seem to indicate preventing screen lock.
>
> If I am wrong and there is a way to do this with setKeepScreenOn,
> please let me know.
>
> On Feb 4, 12:16 pm, nikhil <[email protected]> wrote:
> > If you want to keep the screen on you can use the
> > setKeepScreenOn(true) method as well...
> >
> > On Feb 4, 7:58 am, lipinski <[email protected]> wrote:
> >
> >
> >
> > > I'm trying to implement a times WakeLock in my Application, so this is
> > > not a Service.
> >
> > > I want the wakelock to simply prevent screen dimming for 3 min.
> > > Looking through the docs, this seems simple enough, but I seem to
> > > randomly encounter a Under-Locked exception that I cannot pinpoint.
> >
> > > Here is my WakeLock-related code:
> >
> > > in onCreate:
> > > ...
> > >         PowerManager pm = (PowerManager)
> > > getSystemService(Context.POWER_SERVICE);
> > >         mWakeLock =
> > > pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, TAG);
> > >         // Adjust time to include user's setting
> > >         int timeout = WAKELOCK_TIME -
> > > Settings.System.getInt(getContentResolver(), SCREEN_OFF_TIMEOUT, 0);
> > >         if (timeout > 0) {
> > >                 mWakeLock.acquire(timeout);
> > >         }
> > > ...
> >
> > > in onDestroy:
> > >         if (mWakeLock != null && mWakeLock.isHeld() == true) {
> > >                         try {
> > >                                         mWakeLock.release();
> > >                                 } catch (Exception e) {
> > >                                         // TODO Auto-generated catch
> block
> > >                                         //e.printStackTrace();
> > >                                 }
> >
> > >         }
> > >         super.onDestroy();
> >
> > > As you can see, I wrap the release and try to only execute it when
> > > necessary as a clean up only.  I'm assuming that since I'm aquiring
> > > with a timeout, the PowerManager will handle the release in most cases
> > > when the timeout expires.
> >
> > > I don't have a copy of the logcat at the moment, but what seems to
> > > happen is I get the Under-Locked exception randomly, and at random
> > > times (it's not always when WAKELOCK_TIME elapses).  The strange thing
> > > is that the exception does not point to my code - all the entries
> > > point to "internal" Android code.
> >
> > > It's hard to find examples of other people using aquire with timeouts.
> >
> > > Any ideas what I could be doing wrong here?- Hide quoted text -
> >
> > - Show quoted text -
>
> --
> 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]<android-developers%[email protected]>
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en
>



-- 
Dianne Hackborn
Android framework engineer
[email protected]

Note: please don't send private questions to me, as I don't have time to
provide private support, and so won't reply to such e-mails.  All such
questions should be posted on public forums, where I and others can see and
answer them.

-- 
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