TimePicker timePicker = (TimePicker)findViewById(R.id.timePicker);
int hour = timePicker.getHour();
int minute = timePicker.getMinute();
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, 1);
calendar.set(Calendar.HOUR_OF_DAY, hour-9);
calendar.set(Calendar.MINUTE, minute);
calendar.set(Calendar.SECOND, 0);
Date date = calendar.getTime();
Intent intent = new Intent(SubActivity.this, AlarmDialogActivity.class);
intent.putExtra("리잉톤", ringtoneUri);
PendingIntent pIntent = PendingIntent.getActivity(SubActivity.this, 0, intent, 0);
Log.i("로그찍어 설정한 시간", ""+date);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.setExact(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pIntent);
calendar를 생성한 후에 timepicker에서 값을 가져와서 수정해서 그 시간에 알람이 울리게 하고 있습니다..
calendar를 기본 세팅하게되면 그 값은 현재 시간을 나타내게 되는데요..
근데 여기서 문제는 제가 시와 분을 셋팅하고 로그를 찍어보면 그 시간이 다른건 다 정확한데 DATE값, 즉 일수가 하루차이로 들쭉날쭉합니다..
실제 현재 시간이 8월 30일일때, 어떨땐 8월30일로 잘 찍히다가, 하루가 지나면 하루전 값으로 찍히고, 다시 하루가 지나면 정상적인 DATE값으로 잘찍힙니다.
하루걸러서 이렇게 정확했다가, 하루 전 값으로 DATE가 셋팅이 되는 바람에 calendar.add(Calendar.DATE, 1); 이 코드를 썻다가 지웠다 반복중입니다..
어제까지는 8월 29일 정확히 찍히다가, 오늘 8월 30일이되니까 하루 전값인 8월29일로 되는 바람에 다시 calendar.add(Calendar.DATE, 1);를 추가했네요