Android 如何测试AlarmManager.setRepeating?

Android 如何测试AlarmManager.setRepeating?,android,alarmmanager,Android,Alarmmanager,我正在使用AlarmManager创建一个报警,它工作得很好,但我想测试.setRepeating方法,我的设置如下: Calendar calMon = Calendar.getInstance(); calMon.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); calMon.set(Calendar.HOUR_OF_DAY, tPicker.getCurrentHour()); calMon.set(Calendar.MINUTE, tPicker

我正在使用AlarmManager创建一个报警,它工作得很好,但我想测试.setRepeating方法,我的设置如下:

Calendar calMon = Calendar.getInstance();

calMon.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);

calMon.set(Calendar.HOUR_OF_DAY, tPicker.getCurrentHour());
calMon.set(Calendar.MINUTE, tPicker.getCurrentMinute());
calMon.set(Calendar.SECOND, 0);
calMon.set(Calendar.MILLISECOND, 0);

alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP, calMon.getTimeInMillis(), 24 * 60 * 60 * 1000, newIntent(this, Calendar.MONDAY));

public static PendingIntent newIntent(Context context, int dayId){
    Intent intent = new Intent();
    intent.setAction("myApp.intent.action.CLOCK");

    return PendingIntent.getBroadcast(context, dayId, intent, PendingIntent.FLAG_UPDATE_CURRENT);
}

假设警报设置为每周一下午2点重复,周一的第一个警报正确启动,如果我想测试下周警报,我会进入设置并将日期移动到下周一,时间为下午1:58,以查看它在到达下午2点时是否工作,但是,在我更改设置后,警报会在下午2点之前启动

我想知道是否有更准确的方法来测试.setRepeating,或者在我的配置中是否有不起作用的东西。谢谢大家!

编辑:

由于提供的评论,我在计算中添加了7,因此我能够在一周内通过修改手机中的日期和时间来测试闹钟:

alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP, calMon.getTimeInMillis(), 7 * 24 * 60 * 60 * 1000, newIntent(this, Calendar.MONDAY));

谢谢大家!

假设警报设置在每周一下午2点重复-请注意,这不是您这里的代码。你每天都在重复。我认为这是一个选项,你现在必须测试它,或者你可以将它转换为每五分钟重复一次,只是为了测试。正如马克所说,你的闹钟设置为每天重复一次,这意味着如果你把时间移到下周日,闹钟想明天触发,它将在设定日期后尽快开火。。。所以,你有你的问题,这是设计。它的工作增加了7到下周的计算,谢谢!这对我也很管用。。泰