Keep the screen awake throughout my activity
As discussed in the Android tutorial Keep the Screen On, you can do this in a few ways. You can set the FLAG_KEEP_SCREEN_ON on the activity's window:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
An XML equivalent for that is to add the attribute android:keepScreenOn="true"
to the root view of your activity's layout. The advantage of setting the flag programmatically is that you can use
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
when you no longer need to force the screen to stay on while your activity is running.
Another way to control the screen (and certain other resources) is to use a wake lock:
mWakeLock = ((PowerManager) getContext().getSystemService(Context.POWER_SERVICE))
.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, getClass().getName());
mWakeLock.acquire();
// screen stays on in this section
mWakeLock.release();
The manifest will have to include this permission:
<uses-permission android:name="android.permission.WAKE_LOCK"/>
However, as discussed in the tutorial, a wake lock is more appropriate for other use cases (such as a service or background task needing the CPU to keep running while the screen is off).
I find this solution much easier:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" // Whatever your layout is
...
android:keepScreenOn="true"> // Add this line
Just add this to your activity layout XML.
As per I understand your question, I think you have to use WAKE_LOCK
for it in your application.
Something like,
final PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE,"");
mWakeLock.acquire();
And in your application's manifest.xml file file add this,
<uses-permission android:name="android.permission.WAKE_LOCK" />
try to use this
getWindow().addFlags(
WindowManager.LayoutParams.FLAG_FULLSCREEN
| WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);