Повторяющаяся сигнализация не работает, если системное время было перенесено на прошлое
Я новичок в Android и у меня проблемы с установкой повторяющейся тревоги. Приложение выглядит следующим образом: пользователь выбирает время с помощью указателя времени и выбирает несколько дней для установки будильника. Я использую этот код для реализации этой задачи:
for(int i=0; i < alarm.getDaysOfTheWeek().size(); i++){
// here is a switch block to assign daysUntilAlarm1
//to a particular day from the list of selected days, like
//daysUntilAlarm1 = Calendar.SUNDAY;
calendar.set(Calendar.DAY_OF_WEEK, daysUntilAlarm1);
calendar.set(Calendar.HOUR_OF_DAY, alarm.getHour()); // hour picked by user
calendar.set(Calendar.MINUTE, alarm.getMinute());
pendingIntent = PendingIntent.getBroadcast(AlarmManagerActivity.this, i, intentToAlarmReceiver, 0);
pendingIntents.add(pendingIntent);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 7 * 24 * 60 * 60 * 1000, pendingIntent);
Проблема в том, что когда я проверяю сигналы тревоги, я изменяю системное время на следующий день сигналов тревоги. Все отлично работает Но когда я переключаю системное время на прошлое, как на прошлой неделе, будильник не срабатывает. Так что если пользователю придется изменить время устройства на прошлое, приложение не будет работать. Кто-нибудь может мне помочь?