티스토리 뷰

반응형

API 27 : setTurnScreenOn 

 

[문제]

setTurnScreenOn을 onCreate에서 호출했지만 켜지지 않음

[해결 방법]

requestDismissKeyguard도 호출해줘야 함 

 

[이유]

setTurnScreenOn(boolean)

developer.android.com/reference/android/app/Activity#setTurnScreenOn(boolean)

Activity가 resumed일 때, screen의 켜짐 여부를 결정한다. 일반적으로 activity 상태는 screen이 꺼져있는 동안 started에서 stopped으로 전환된다. 그러나 setTurnScreenOn을 설정하면 activity가 visible 및 resumed 되면서 screen이 켜지게 된다. screen은 activity가 visible 상태가 되기 전에는 켜질 수 없다. 

이 flag는 일반적으로 R.attr.showWhenLocked flag와 함께 사용하며, 이는 screen이 켜지기 전에 잠금화면 위에서 activity가 visible되도록 보장한다. 더하여, flag가 설정되면 activity는 keyguardManager의 requestDismissKeyguard를 호출하여, screen이 켜지도록 한다.

 

requestDismissKeygaurd(Activity, Callable)

developer.android.com/reference/android/app/KeyguardManager#requestDismissKeyguard(android.app.Activity,%20android.app.KeyguardManager.KeyguardDismissCallback)

device의 현재상태가 locked이라면 keyguard가 dismissed 되기 위한 요청을 수행한다. 

keyguard가 비보안이거나 device의 현 상태가 신뢰할 수 있다면, 이 method는 사용자와의 어떠한 상호작용 없이 keyguard를 dismiss한다. 

만약 keyguard가 보안 적용되어 있거나 device의 현 상태가 신뢰할 수 없다면, 이 method 호출 시, 사용자의 신용을 확인할 수 있는 UI를 가져온다. 

만약, R.attr.turnScreenOn이 true로 설정되어 있다면, keyguard가 dismiss 일 때,  screen은 turn on 된다. 

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함