//알람의 설정
private void setAlarm() {
AlarmManager manager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
manager.setRepeating(AlarmManager.RTC_WAKEUP, mCalendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent());
}
//알람의 해제
private void resetAlarm() {
AlarmManager manager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
manager.cancel(pendingIntent());
}
//알람의 설정 시각에 발생하는 인텐트 작성
private PendingIntent pendingIntent() {
Intent i = new Intent(this, AlarmBroad.class);
PendingIntent pi = PendingIntent.getBroadcast(this, code, i, PendingIntent.FLAG_UPDATE_CURRENT);
return pi;
}
//시간 설정.
//타임피커의 값을 가져온다.
hour = mTime.getCurrentHour();
min = mTime.getCurrentMinute();
//24시간제로 알람노티에 줄 값을 정의하고.
mCalendar.set (mCalendar.get(Calendar.YEAR), mCalendar.get(Calendar.MONTH) + 1, mCalendar.get(Calendar.DAY_OF_MONTH), hour, min, 0);
보시면 아시겠지만 알람 소스입니다.
AlarmManager를 이용해서 구현했구요. setRepeating을 이용해서 AlarmManager.INTERVAL_DAY인자값으로 하루에 한번 BR을 호출하게 했습니다. 근데 요놈이 됐다 안됐다 하네요. 시간은 타임피커로 지정한 시간을 얻어와서 GregorianCalendar변수(mCalendar)에 셋팅했습니다.
무언가 잘못한 부분이 있나요? 훑어봐 주시면 감사하겠습니다.
아 또하나 궁금한게 AlarmManager에 제대로 셋팅이 되었는지 확인하는 방법 있을까요?




수정하면서 잘못되었던것 같습니다.
mCalendar.set (mCalendar.get(Calendar.YEAR), mCalendar.get(Calendar.MONTH) + 1, mCalendar.get(Calendar.DAY_OF_MONTH), hour, min, 0);
이부분을
mCalendar.set (mCalendar.get(Calendar.YEAR), mCalendar.get(Calendar.MONTH), mCalendar.get(Calendar.DAY_OF_MONTH), hour, min, 0);
이렇게 하니 되는군요.
월에서 1이 빠지길래 1을 더 넣었더니 한달 후를 바라보고 있네요..ㅡㅡ;;쩝..