본문 바로가기

Android Dev

[안드로이드] 슬립 화면 깨우기

출처 : http://canon110.tistory.com/139

Q1. 

RTC_WAKEUP 사용해서 일정 시간이 되면 어플을 꺠워주는데요
바탕화면이 켜진 상태에서는 잘 떠지는데
바탕화면이 꺼진 검은 대기화면(화면이 왼쪽 잠김해제 바를 당겨야 풀리는 상태)에서는 
진동은 울리는데 화면은 뜨지 않네요.......

진동을 느끼고 화면을 키면 그때서야 어플이 뜨는..
RTC_WAKEUP이 대기화면(화면이 왼쪽 잠김해제 바를 당겨야 풀리는 상태)에서는 화면을 띄워주는 기능이 없는건가요?


Q2. 

알람매니져를 활용하여 알람을 사용하는데 성공을 했습니다.
문제는 화면 언락이 걸렸을때 알람시 동작하는 엑티비티가 동작은 하는데 언락 화면으로 인해 보여지진 않네요.
물론 잠김키를 눌러 해제하면 그제서야 보이긴 하지만..^^;

결론 : 알람시 스크린 락을 해제하고  엑티비티의 모습을 보이고 싶습니다.

작은 조언이라도 부탁드립니다.
하루종일해서 알람은 성공했는데. 저 스크린 락을 해제를 못하겠네요. ^^

추가 : 게시물중에 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON) 이렇게 하라는 내용을 봤습니다.  현재 2.1버전에서 개발중인데.. 동작을 안하네요.. 저 코드한줄만 넣으면 되는건가요? 그리고 넣어야 한다면 어디에  넣어야 하나요.. T_T



A. 

잠금화면을 해제할 해당 액티비티의 onCreate 함수 안에 

1 getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
2                 | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD
3                 | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
4                 | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);


위와 같은 소스코드를 추가해주면 된다. 

FLAG_SHOW_WHEN_LOCKED 는 lock화면 띄우기 전에 자신의 화면을 먼저 띄운다는것이고
FLAG_TURN_SCREEN_ON 은 화면을 켜준다고 한다. 

완전 좋아요^^