안녕하세요.
어플을 실행하면 백그라운드 서비스가 하나 돌고, 이 서비스는 어플이 종료되어도 동작을 해야합니다.
서비스가 실행 되면, onCreate에서 1분에 한번 블루투스를 약 5초간 스캔하여 서버로 업로드하는 Runnable을 등록합니다.
위 시나리오를 위해 서비스가 sleep에 빠지지 않게 하기 위해 AlarmManager 및 Scheduler를 사용하여 Service를 다시 startService 호출을 했지만(onStartCommand 주기를 태워 슬립을 방지하기 위해)
많은 단말들에서 정해둔 interval(1분)마다 깨어나지 않고, 약 2~5분에한번씩 알람이 호출되어 1분에 한번 작업해야하는 일을
제 때 하지 못하고 있습니다.
그래서 서버에서 1분에 한번 gcm을 전송하여 그때마다 스캔해서 업로드를 시켜야 하나 고민에 빠져있습니다.
이렇듯 백그라운드 서비스에서 1분 혹은 그 이하에 한번 작업을 반복적으로 수행해야 할 경우, 어떻게 해야할까요 ?
조언 부탁드립니다..