How to Disable Keyguard and display an activity to the user when receiver of SCREEN_ON is triggered?

对着背影说爱祢 提交于 2019-12-18 11:33:26

问题


How can I disable the keyguard when a broadcast receiver is activated by screen_on, so that when it occurs the user sees an activity that I have started behind it? (The activity is running already...)

I have been trying the following code from a broadcast receiver triggered by screen off...

KeyguardManager  myKeyGuard = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
myLock = myKeyGuard.newKeyguardLock();
myLock.disableKeyguard();

It doesn't seem to be working though as it is. When I turn the screen on, I still have to manually unlock the keyguard on the phone to reveal the activity behind it.


回答1:


i would recommend using the window flags dismiss_keyguard or show_when_locked if you have a window that needs to come over the top of the lockscreen right at wakeup.

http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#FLAG_SHOW_WHEN_LOCKED

how you use this is as follows (called in onCreate before setting layout)

getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);



回答2:


I think I figured out what I did wrong. It seems like it was just a tag error in my manifest when using the disable_keyguard permission. It's working correctly now that I corrected the manifest.




回答3:


I'm not seeing the Keyguard solution work (and it's been deprecated). What works for me is to grab a permanant PARTIAL_WAKE_LOCK that I never release. This prevents the device from truly falling asleep and thus avoids the lock-screen every being activated.

Then every time the screen shuts off, I listen for that notification and wake the device back up. It works on all the devices I have tested on.

I realize that this will kill the device's battery pretty fast, so, you have to use this very sparingly and mindfully.



来源:https://stackoverflow.com/questions/4234156/how-to-disable-keyguard-and-display-an-activity-to-the-user-when-receiver-of-scr

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!