У меня есть будильник, который я могу запланировать, чтобы уйти в определенное время. Дело в том, что, когда я планирую его в будущее, он работает точно в ту минуту, в которую я его установил. Он работает так, как должен. Но проблема в том, что если я планирую его в прошлом, он сразу же отключается.Android AlarmManager Triggering
Например, если это сейчас 3:30 вечера, и я планирую его в 15:35, он стреляет в 3:35 вечера. Но если это 3:30 вечера, и я планирую его в 15:25, он срабатывает сразу же, поскольку он в прошлом.
Что я хочу, чтобы это сделать, если оно прошло, просто игнорируйте его до тех пор, пока не пройдет промежуток времени.
Вот код:
Intent intent = new Intent(context, AlarmReceiver.class);
PendingIntent sender = PendingIntent.getBroadcast(context, ApplicationClass.AlertNotifyID, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
long milliSeconds24Hours = 86400000; //86400000 which is 24 hours in milliseconds
am.setRepeating(AlarmManager.RTC_WAKEUP, GetNotificationTime(context), milliSeconds24Hours, sender);
Что вы подразумеваете под «игнорировать его до тех пор, пока не пройдет интервал времени». вы хотите, чтобы вы ушли в это время на следующий день? Если это так, вам придется вручную проверять свою временную метку, и если она есть до текущего времени, вам придется свернуть ее вперед на один день, а затем установить ее с помощью AlarmManager. – FoamyGuy
Я могу это сделать, спасибо – Jesse