환경
HW : S5PV310(Exynos)
Android : 2.3.3
알람으로 특정시간 이후 Activity를 실행시켜주도록 프로그램을 짰습니다.
헌데 이상한 것이 ELAPSED_REALTIME_WAKEUP으로 알람설정을 하면
화면이 꺼져도 잘 동작하는데 반에 RTC_WAKEUP을 사용하면 켜지지가 않습니다.
LED가 깜빡이는걸로 봐서는 알람은 정상동작하는것 같은데
화면이 켜지지가 않아서 결국 Activity가 실행되지 않는군요;;
혹시 원인을 알고계신 분 없나요?
2.3.1 소스까지 확인해 봤는데,
안드로이드 기본 알람 어플에서도 화면을 깨우는건 다른 코드를 쓰더군요..
알람 소스 열어 보시면 화면 깨우는 것은 정작 AlarmAlertWakeLock.java 파일 써서 깨우더 군요...
https://github.com/android/platform_packages_apps_alarmclock/commit/19319aa7a6bce108cac72511585d006e4c44cc34
참고하세요..
답변 감사합니다. 해결했습니다. 사실 위의 알람코드에서는 WakeLock을 services와 receiver에서만 호출하더군요 즉 WakeLock자체가 깨워주는 것이 아닌것 같고 (WakeLock.acquireWakeLock은 함수에 불과하니 cpu가 idle상태인 sleep모드에서는 작동안하겠지요...) 다른 코드로(예를들면 alarm, action 등...) sleep에서 탈출시켜주면 화면을 켜주는 역할을 하는것 같아요~ 이것을 이용해서 alarm후 실행시킬 Activity에 acquireWakeLock 해주니 잘 깨어나는군요^_^ 혹시 제 글에 오류가 있으면 답글달아주세요 감사합니다^_^




문제는 ELAPSED_REALTIME_WAKEUP도 100% 깨우진 못합니다ㅠ
한 95%정도는 깨우던데;; 무엇보다 부팅 직후 알람으로 설정하고 끄면
동작하지 않는 경우가 많더군요. 혹시 RTC_WAKEUP으로 수정하면
이런 증상이 없지 않을까 하여 질문드렸습니다.