예, 아래와 같이 setRepeating을 사용하여 AlarmManager를 사용하여 10 분마다 서비스를 시작하십시오. 서비스중인 타이머를 없애고 서비스가 oncreate 또는 onCommand에서 태스크를 완료하도록합니다.
int SECS = 1000;
int MINS = 60 * SECS;
Calendar cal = Calendar.getInstance();
Intent in = new Intent(context, YourService.class);
PendingIntent pi = PendingIntent.getService(context, 0, in, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarms = (AlarmManager)context.getSystemService(
Context.ALARM_SERVICE);
alarms.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(),
10 * MINS, pi);
당신은 서비스를 시작 버튼에서 온 클릭 핸들러에서이 코드를 포함하는 작업을 만들 수 있습니다. 부팅 할 때 실행하려면 장치를 사용할 때 알림을받는 브로드 캐스트 수신기에 넣어야하지만 그 자체가 다른 주제입니다.
기기가 대기 상태 일 때 서비스 및 타이머가 작동하지 않는 이유는 CPU가 꺼져 있고 코드에 깨우기 잠금이 없기 때문입니다. AlarmManager는 CPU를 약간만 가동시켜 서비스를 실행합니다.