마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

PowerManager.WakeLock 으로 화면 켜기 : FULL_WAKE_LOCK deprecated

0 추천
PowerManager.WakeLock wakeLock;
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
wakeLock = pm.newWakeLock(PowerManger.FULL_WAKE_LOCK|PowerManager.ACQUIRE_CAUSES_WAKEUP|PowerManager.ON_AFTER_RELEASE, "main:tag");

wakeLock.acquire();

서비스가 돌면서 특정 조건 만족시, Notification 알림 울리면서, 화면이 켜지는 프로그램 만드는 중입니다.

화면 깨우기 할 때, 위 코드로 많이들 쓰시는데, 

FULL_WAKE_LOCK 이 deprecated 된 후로, 언제 사라질 지 모르기 때문에, 가급적 이 파라미터는 쓰지 않으려고 합니다.

따라서, PARTIAL_WAKE_LOCK 만 쓸 수 있는데, 이 파라미터를 주면, CPU만 돌아가게 만들고 화면은 켜주지 않는다고 나와있습니다.

심지어, 공식 문서에 보면, 화면을 켜주는 ACQUIRE_CAUSES_WAKEUP 플래그랑 같이 사용할 수 없다고 나와 있는데요.

혹시 

FULL_WAKE_LOCK, 

SCREEN_DIM_WAKE_LOCK, 

SCREEN_BRIGHT_WAKE_LOCK 

(셋 다 deprecated됨.) 쓰지 않고 화면을 켤 수 있는 방법이 있을까요?

문서에는 대안이라면서, FLAG_KEEP_SCREEN_ON 써서 아예 화면을 끄지 말아라. 라고 되어있는데, 저는 백그라운드 서비스를 돌릴거라 해당 사항이 없네요.

 

 

라춘자 (400 포인트) 님이 2020년 8월 1일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...