[英]Calendar sets alarm for next day
我正在使用日历。 我使用下面的代码来设置警报。 但!!! 如果我尝试在星期一(Calendar.Monday)设置闹钟,则实际闹钟将在星期二设置。 为什么会这样? 我也尝试使用Calendar.getInstance(Locale.getDefault())
但是没有用。
这是我为星期日设置警报的方式:
setAlarm(Calendar.SUNDAY, h, m, k, y);
我的setAlarm()方法:
public void setAlarm(int dayOfWeek, int hour, int minute, int position, int y) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_WEEK, dayOfWeek);
calendar.set(Calendar.HOUR, hour);
calendar.set(Calendar.MINUTE, minute);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND, 0);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context,MyReceiver_Alarm.class);
Long alarmTime = calendar.getTimeInMillis();
PendingIntent pendingIntent = PendingIntent.getBroadcast(context.getApplicationContext(), position , intent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.setExact(AlarmManager.RTC_WAKEUP, alarmTime, pendingIntent);
Log.e("Point_1", "Time is " + calendar.getTime());
}
谢谢。
0星期日1星期一2星期二
DayOfWeek从0开始,从星期日开始。 因此,如果您通过2,认为它是基于1的,那么您将获得星期二。
参数Calendar.DAY_OF_WEEK从SUNDAY开始,因此如果您想为星期一设置闹钟,请将int dayOfWeek的值设置为2。 参考图片链接
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.