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

화면 깨우기 질문입니다..

0 추천

push 오면 서비스에서 액티비티 호출해서 앱을 실행하는데요~~

 

서비스는 액티비티를 호출하기만 하고 화면을 강제로 켜주는건

액티비티 onCreate() 에서 구현해주거든여

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD //잠금 화면 위에 뜨게 하기.
| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); //화면 깨우기
 
이 소스로요
 
 
액티비티가 아예 죽었을때 푸시가 오면 잘 되는데~
 
액티비티는 안죽었는데 시간이 지나서 화면이 꺼졌다~ 이럴때있잖아여
 
이럴때 푸시가 오면
화면이 안켜져요
 
당연히 onCreate() 에서 저 소스를 넣어뒀으니까 안켜지지요 이렇게 생각하시는데
 
onNewIntent 에다가 넣고 호출해보기도 하고
푸시 메세지 받는 핸들러에도 넣어주기도 하고
 
resume restart 다 넣어봤는데
 
저 코드가 타긴타는데 화면이 안켜지더라구여
 
제가 내린 결론은 액티비티가 없다가 첨부터 호출될때만 화면을 강제로 켤 수 있구나 입니다..
 
어떤분들은 powermanager를 같이  쓰면 된다고 하는데
 
제가 써본바로는 안되요..
 
해결방법 아시는 분 도와주세요 ㅠ
 
윤둥이 (4,560 포인트) 님이 2013년 8월 23일 질문

1개의 답변

0 추천
푸시만 보여주는 전용 액티비티를 따로 만드세요.

 

앱의 메인 액티비티에서 처리하지 마세요.

 

그럼 됩니다.
원조안드로이드 (58,190 포인트) 님이 2013년 8월 23일 답변
저도 그러고싶은데.. 지금 개발하고 있는 앱의 시나리오가 그게 안돼서요..
...