Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Disable/Delay Android Lock Screen Programmatically

Tags:

android

I’d like to disable/delay the lock screen programmatically. In looking into this, KeyguardManager is depreciated/doesn't work consistently, FLAG_DISMISS_KEYGUARD is not an option because I want to do this in the background, I don't want to use WakeLock for battery reasons, Device Administration does not appear to be capable of this and, while SCREEN_OFF_TIMEOUT is available to control when the screen sleeps, I was unable to find a similar timeout for the screen lock.

What am I missing here? Thanks.

like image 382
Bink Avatar asked Aug 18 '12 19:08

Bink


3 Answers

try this, it will keep awake the screen/ display , as long as the activity is on top. getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

Also this does not require any permission in manifest.

like image 66
Swapnil Kale Avatar answered Oct 21 '22 20:10

Swapnil Kale


the answer of @nandeesh is working but it's deprecated , to disable lock screen use flags :

getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
like image 31
Houcine Avatar answered Oct 21 '22 18:10

Houcine


Did you try this?

KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE);
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
lock.disableKeyguard();

Add

<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>

You can disable the keyguard using this.

like image 2
nandeesh Avatar answered Oct 21 '22 19:10

nandeesh