unlocking a screen via code in android

android, password-protection

Solution

Straight from the android API Site for `disableKeyguard()`:

Disable the keyguard from showing. If the keyguard is currently showing, hide it. The keyguard will be prevented from showing again until reenableKeyguard() is called. A good place to call this is from onResume() Note: This call has no effect while any DevicePolicyManager is enabled that requires a password.

Based off that bolded statement I would probably say that you cannot do that without a password. The only way passed that is if you had yourself(app) added to the phone as a device admin, then you could control that from your device admin application of removing the password, wiping it etc.

Source : KeyguardManager.KeyguardLock & DevicePolicyManager

EDIT

I found the source code of the `LockPatternUtils` (I know it is from older version, but I doubt it has changed much) that is in part pattern locks and it has DevicePolicyManager all over it. I believe it has an internal service running as root in the system that does all the work. So without being a device admin, you do not even have authority to unlock the phone when it has a security setting for it.

Problem

How do I unlock phone screen when some event happens?I tried the following code but it does not unlock the screeen . By unlock I mean bypass PIN or pattern Am using following code and its get triggered when a sms is received. ``` private void unlockScreen(Context context){ Log.d("dialog", "unlocking screen now"); PowerManager powermanager = ((PowerManager)context.getSystemService(Context.POWER_SERVICE)); WakeLock wakeLock = powermanager.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "tag"); wakeLock.acquire(); Window wind = DialogActivity.this.getWindow(); wind.addFlags(LayoutParams.FLAG_DISMISS_KEYGUARD); wind.addFlags(LayoutParams.FLAG_SHOW_WHEN_LOCKED); wind.addFlags(LayoutParams.FLAG_TURN_SCREEN_ON); } ``` Screen is powered on but the user has to enter PIN/pattern.How do I get over it?

Original source

Related problems