在同一天在日历中设置时间会移动到第二天
Setting a time in calendar in the same day moves to the next day
我正在显示一个 TimePicker,我希望在同一天的那个时间触发一个警报,但奇怪的是,它在第二天被调用,除非用户选择的时间已经过去,在这种情况下警报立即触发,你能帮我弄清楚发生了什么吗?
startingHour = timePickerStartingHour.getCurrentHour();
startingMinute = timePickerStartingHour.getCurrentMinute();
Calendar cal = Calendar.getInstance();
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MINUTE, startingMinute);
cal.set(Calendar.HOUR, startingHour);
Intent intent = new Intent(getActivity(), NotificationBroadcast.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getActivity(), 100000+i, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE);
alarmManager.setExact(AlarmManager.RTC, cal.getTimeInMillis(), pendingIntent);
如果有人遇到这个问题,请将 Calendar.HOUR
替换为 Calendar.HOUR_OF_DAY
,这对我有用,支持 mgcaguioa
我正在显示一个 TimePicker,我希望在同一天的那个时间触发一个警报,但奇怪的是,它在第二天被调用,除非用户选择的时间已经过去,在这种情况下警报立即触发,你能帮我弄清楚发生了什么吗?
startingHour = timePickerStartingHour.getCurrentHour();
startingMinute = timePickerStartingHour.getCurrentMinute();
Calendar cal = Calendar.getInstance();
cal.set(Calendar.SECOND, 0);
cal.set(Calendar.MINUTE, startingMinute);
cal.set(Calendar.HOUR, startingHour);
Intent intent = new Intent(getActivity(), NotificationBroadcast.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getActivity(), 100000+i, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE);
alarmManager.setExact(AlarmManager.RTC, cal.getTimeInMillis(), pendingIntent);
如果有人遇到这个问题,请将 Calendar.HOUR
替换为 Calendar.HOUR_OF_DAY
,这对我有用,支持 mgcaguioa