서비스를 이용해서 1초씩 동작하는 타이머를 만들었던 적이 있습니다.
단순히 서비스만 구현해서는 화면이 켜지고 앱 실행 상태에서는 어느 정도 잘 작동하지만
다른 앱이 실행된다거나 화면이 꺼졌을 경우에는 OS에서 서비스를 막 죽였다 살렸다 하더라구요.
그래서 죽으면 안되는 서비스에 대해서는 startForeground()를 해주면 되었지만
안드로이드 버전이 올라가면서 사용자가 현재 서비스가 실행 중이라는 것을 알 수 있도록
Notification 영역에 아이콘 표시를 해주었습니다.
startForeground(id, notification); 형식으로요.
화면 꺼진 상태에서 많이 테스트 해보진 않았지만, 도움이 되었으면 합니다~^^
혹시 그래도 화면 꺼진 상태에서 서비스가 죽는다면...
PARTIAL_WAKE_LOCK 옵션을 주어 CPU를 깨어 있도록 하는 게 가능할지...
http://aroundck.tistory.com/48
한 번 참고해 보시기 바랍니다.^^