У меня было несколько проблем с настройкой будильника в Android.Я попытался установить повторяющиеся / неповторяющиеся сигналы тревоги и точные / неточные сигналы тревоги, но это не имеет значения, если сигнал тревоги когда-либо был установлен на какое-то время в прошлом, он срабатывает, как только он установлен.Я проверил это еще в течение 5 часов, и установил будильник в прошлом, и он по-прежнему срабатывает немедленно.
Например:
Время 7 утра, и я установил будильник для выполненияв 2 часа ночи.Это, очевидно, означает, что в следующий раз часы будут показывать 2 часа ночи, но это не имеет значения, будильник сработает в 7 часов утра, сразу после его установки.
Приведенный ниже код должен выбрать случайное время между1:00 утра и 3:59 утра, чтобы установить / включить будильник на следующий календарный день, а затем логика возвращается назад, чтобы снова установить себя после выполнения.Тревога будет срабатывать многократно, навсегда.
int randomHour = new Random().nextInt((3 - 1) + 1) + 1;
int randomMinute = new Random().nextInt((59 - 1) + 1) + 1;
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, randomHour);
calendar.set(Calendar.MINUTE, randomMinute);
calendar.set(Calendar.SECOND, 0);
calendar.add(Calendar.DAY_OF_MONTH, 1);
alarmManager.setExact(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
Вопросы:
В какой момент Android прекращает выполнение аварийных сигналов в прошлом?
Есть ли способ остановить это?