Повторяющаяся сигнализация не работает, если системное время было перенесено на прошлое

Я новичок в 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);

Проблема в том, что когда я проверяю сигналы тревоги, я изменяю системное время на следующий день сигналов тревоги. Все отлично работает Но когда я переключаю системное время на прошлое, как на прошлой неделе, будильник не срабатывает. Так что если пользователю придется изменить время устройства на прошлое, приложение не будет работать. Кто-нибудь может мне помочь?

0 ответов

Другие вопросы по тегам