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

