현재 Background 서비스에서 타이머를 돌려서
일정간격마다 어떤 작업을 수행하려 합니다.
서비스는 알람매니저로 죽지않게 해놓았고,
Timer와 TimerTask의 run() 을 통하여 작업을 수행하려고 코드를 짯습니다.
헌데..테스트로 5분간격으로 작업을 해놨는데..(타이머가 5분간격으로 실행될때마다 DB에 로그를 넣어놓고 나중에 볼수있게 해놓았습니다.)
몇시간 뒤에보면 DB엔 타이머자체가 실행된 흔적이 몇번 없더라구요.
기기와 상황에 따라 다른지 잘은 모르겠는데 5개의 기기로 테스트해본 결과 각각 5~6회정도만 실행하고 그 후엔 타이머가 동작하지 않습니다.
그러니까..예를들어 5분간격으로 동작하게 해놓았고. 4시에 Service가 시작되었다면
4시5분..10분..15분...20분..해서 5시든, 6시든 5분간격으로 타이머가 돌아가면서 DB에 기록을 남길텐데,
4시5분..10분..15분..20분.. 요런식으로 한 4시 30분정도 까지만 돌고 그 이후론 기록이 없는겁니다! 미스터리...ㅠㅠ
Background service(리모트서비스)에서 타이머를 돌리려면 어떤 특정권한이나 선행작업이 필요한가요?
궁금합니다.
감사합니다.^^