LOCK이 걸려있는 상황에서 그 위로 어떤 화면인가를 보여주고 싶을때 사용할 수 있는 FLAG가 있습니다.


바로 FLAG_SHOW_WHEN_LOCK 


Android developer Reference에는 아래와 같이 설명되어있습니다.

Window flag :
special flag to let windows be shown when the screen is locked.
This will let application windows take precedence over key guard or any other lock screens.
Can be used with FLAG_KEEP_SCREEN_ON to turn screen on and display windows directly before showing the key guard window.
Can be used with FLAG_DISMISS_KEYGUARD to automatically fully dismisss non-secure keyguards.
This flag only applies to the top-most full-screen window.
Constant Value: 524288 (0x00080000) 

중요한 내용은...
FLAG_KEEP_SCREEN_ON 플래그와 함께 사용해서 락 위에 직접적으로 창을 보여주고 싶을때 사용한다는 것.
FLAG_DISMISS_KEYGUARD 플래그와 함께 사용해 키가드의 보호를 자동으로 없앨수있다는 것.
그리고 이 flag는 full-screen의 창만을 지원한다는 것. 

코드는 간단합니다.
아래의 한줄을 onCreate에 추가해주면 됩니다.






만약, 타이틀 바(Title bar)도 없애고 싶다면 아래의 코드를 추가해줍니다.
이때는 xml Layout을 setContent 하기 전에 코드를 추가해야 합니다. 아래와 같이 해주면 됩니다.


 

FLAG_KEEP_SCREEN_ON 또는 FLAG_DISMISS_KEYGUARD 역시 FLAG_SHOW_WHEN_LOCKED와 같이 추가해서 사용하면 됩니다.


Posted by croute

댓글을 달아 주세요