Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Keeping screen on, which way?

Tags:

android

screen

I have found two ways on keeping the screen on:

First one is simpler:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

Second one is using a wakelock and requiring an extra permission:

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);  
wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "DoNotDimScreen");

Is there any real difference between this two methods apart from the second one being more complicated to implement and requiring an extra permission? Will the end result be always the same?

like image 909
Jan S. Avatar asked May 05 '10 09:05

Jan S.


1 Answers

You should see Coding for (Battery) Life Google IO presentation, slide 16

If you don't want to, then: You could do the first one in the XML for any layout element and it is the suggested one to use (don't know about applying it to the window though, might be as bad as the wakelock, I don't know).

XML:

<LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:keepScreenOn="true">

Window Flag:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
like image 54
Mart Roosmaa Avatar answered Nov 15 '22 11:11

Mart Roosmaa