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

카카오톡 형식의 팝업과 스크린 off문제

0 추천
현재 카톡을 보면

screen이 off일때는 메시지가 오면 화면을 켜주고 락스크린 위에 팝업을 띄워주고 아무런 동작을 하지 않을시

수초이내로 화면이 꺼지는데요, 저도 이를 구현하고 싶습니다.

 

현재 Powermanager를 통해 화면을 켜고 락스크린위에 액티비티를 띄우는 형태의 팝업은 완성했는데요,

release()를 해도 화면이 바로 안꺼지더라구요. 그리고

https://github.com/alixandru/android-screen-off 여길 참조해서 스크린오프 하는 소스는 구하였으나

이방식은 설정-보안에서 권한을 줘야 제대로 작동하는 방식이라 사용자가 번거로움을 느낄거 같은데.

카톡은 어떤방식을 쓰고 있길래 팝업후에 자연스레 화면이 꺼지는지 궁금합니다.

스크린의 밝기를 0으로 줄이는 방식도 써봤는데, 화면이 최저밝기로 될뿐 완전히 꺼지지는 않더라구요..
Charlesz (4,420 포인트) 님이 2014년 9월 5일 질문

1개의 답변

0 추천
카카오톡은 화면을 켜는 것만 하고 유지하지 않습니다.

파워매니져 사용할 일도 없습니다.

window에 flag 넣어주면 됩니다.

 

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
                | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
                | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);

 

그리고 화면을 끌 필요는 없습니다.

그대로 두면 사용자의 설정에 따라 핸드폰의 화면이 꺼지니까요.

onPause()에서 액티비티를 그냥 종료시켜 버리면 됩니다.
원조안드로이드 (58,190 포인트) 님이 2014년 9월 5일 답변
답변 고맙습니다. 한번 해보겠습니다!
제가 스크린을 10분동안 안꺼지게 설정해두어서 그런지 화면이 꺼지질 않아요.
카톡은 똑같은 설정에서도 알아서 꺼지는데 말이죠..
키가드 플래그를 빼니까 되네요!!
...