我想设置一个以不同方式重复的警报,例如,每天,每周,每隔一周,工作日,周末等。 问题是工作日和周末。我知道例如Vibrator有一个设置重复模式的选项,所以我想知道AlarmManager是否也有它?我在这上面找不到任何东西。显然,我可以自己计算时间,并设置每天平日重复闹钟5次,周末2次,但我想知道是否有更好的方法我找不到? 谢谢:))
答案 0 :(得分:0)
所以,这就是我最终解决它的方式。 time12是用户设置的时间,并且警报在工作日或用户设置时的周末弹出。
//6-Weekdays
case 6:
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(time12);
for (int i = 0; i < 7; i++) {
if (cal.get(Calendar.DAY_OF_WEEK) != 6 && cal.get(Calendar.DAY_OF_WEEK) != 7)
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, time12,1000 * 60 * 60 * 24 * 7, operationBroadcast);
cal.add(Calendar.DAY_OF_WEEK,1);
}
break;
//7-Weekends
case 7:
Calendar cal2 = Calendar.getInstance();
cal2.setTimeInMillis(time12);
for (int i = 0; i < 7; i++) {
if (cal2.get(Calendar.DAY_OF_WEEK) == 6 ||cal2.get(Calendar.DAY_OF_WEEK) == 7)
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, time12, 1000 * 60 * 60 * 24 * 7, operationBroadcast);
cal2.add(Calendar.DAY_OF_WEEK,1);
}
break;