繁体   English   中英

日历设置第二天的警报

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM