2012-01-29 4 views

답변

1

예, AlarmManager 클래스가 필요합니다. 원하는 시간으로 설정된 인 텐트와 캘린더 개체를 만든 다음, AlarmManager를 사용하여 그 시간에 인 텐트를 실행합니다 (setRepeating을 사용하여 매일 반복하도록)

Intent intent = new Intent(getBaseContext(), 
           some_service.class); 
         PendingIntent pendingIntent = PendingIntent 
           .getService(getBaseContext(), 0, intent, 0); 


         AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); 
         // Cancel all previous alarms of the same type 
         alarmManager.cancel(pendingIntent); 


         Calendar calendar = Calendar.getInstance(); 
         Calendar currentDate = Calendar.getInstance(); 

         calendar.add(Calendar.HOUR, 24); 
         calendar.set(Calendar.HOUR_OF_DAY, 07); 
         calendar.set(Calendar.MINUTE, 00); 
         calendar.set(Calendar.SECOND, 00); 

         // Set alarm manager to run at selected time 
         // each day 
         alarmManager.setRepeating(AlarmManager.RTC, 
           calendar.getTimeInMillis(), 
           AlarmManager.INTERVAL_DAY, pendingIntent); 
+0

감사합니다! 하지만 수업을 연장하기 위해 수업이 필요합니까? –

+0

AlarmManager는 시스템 클래스이므로, 메인 클래스에이 코드를 넣으면 아무 것도 확장 할 필요가 없습니다. –

+0

나는 그 의도를 의미했다. 봉사를 연장해야합니까? 아무것도 확장하지 않으면 작동하지 않습니다. –

0

문제는 애플리케이션이 연중 무휴로 실행되지 않습니다.
하지만 그럴 경우 Java 타이머 클래스를 사용하여 작업을 구현할 수 있습니다. See Documentation here.

관련 문제