Keyguard & KeyguardManager: 화면보호 및 보안을 담당하는 장벽

락스크린이라고도 불리는 Keyguard는 기기의 화면을 보호하고 보안을 담당하는 역할을 합니다.
Jan 02, 2024
Keyguard & KeyguardManager: 화면보호 및 보안을 담당하는 장벽

 

Keyguard란

기기가 Sleep이나 Idle 상태에 진입한 이후에 화면 맨 위에 올라온다.
실수로 또는 인가없이 디바이스의 key들이 눌리지 않도록 guard해주는 장벽이다.
기기 화면을 잠그는 역할을한다. Lockscreen 이라고도 한다.
현재 키가드가 올라와 있는지 알려면 KeyguardManager.isKeyguardLocked() method를 사용하면 된다.
 

Keyguard는 Secure하거나 Insecure하다

PIN, Pattern, Password 입력을 통해서 해제해야하면 secure한 상태이고, 그렇지 않으면 insecure한 상태이다
현재 디바이스가 PIN, Password, Pattern을 키가드를 언락하는데 사용중인지는 KeyguardManager.isKeyguardSecure() method로 알 수 있다.
 
더불어 키가드가 올라와 있고 PIN, Password, Pattern을 입력해야지 Unlock할 수 있는 상황이라면 Device Locked 되었다고 한다. KeyguardManager.isDeviceLocked() method로 현재 상태를 확인할 수 있다.
 

Keyguard가 올라와 있을 때, 새로운 액티비티 실행하기

디바이스가 잠겨 있는 경우(isKeyguardLocked == true)에는 안드로이드 정책상 일반적인 방법으로는 Activity를 실행할 수 없다. 이 때 KeyguardManager.requestDismissKeyguard(activity, callback) 를 호출하여 Unlock한후에, Callback 인터페이스의 onDismissSucceeded 메소드를 통해서 새로운 액티비티를 실행하면 편하다.
Secure한 경우에는 키가드 해제를 위해 PIN, Password, Pattern 입력을 요청받게 된다.
 
 

 
Share article
RSSPowered by inblog