FLAG_DISMISS_KEYGUARD & FLAG_SHOW_WHEN_LOCKED

getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD): 这一个标志的意思是去掉锁屏界面,但这对安全锁(图案或者密码锁屏界面)是无效的。在没有设置安全锁的时候,我们需要上滑一下(可能是其它方式)退出锁屏界面,才能进入桌面,这个标志就是去掉这一界面,使得比如网易云音乐这类在锁屏界面播放的时候,只需要直接解锁云音乐的锁屏即可,不需要再上滑解除系统本身的锁屏。

可以认为锁屏界面是一个窗口视图,解锁图案界面是另一个窗口视图,FLAG_DISMISS_KEYGUARD只能控制去除锁屏界面窗口。

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED): 这一个标志的意思是使得窗口浮在锁屏界面之上。这给像电话这类应用一个快捷的不需要解锁的就能使用的便利。

原文地址:https://www.cnblogs.com/xiaorenwu702/p/6371661.html