Я пытался сделать это, не мешая экспертам, и прочитал множество тем здесь и на других сайтах.Очевидно, мой мозг не понимает, что нужно сделать, чтобы это сработало.
Моя цель состоит в том, чтобы приложение позволяло пользователю вводить время и один или несколько дней в неделю.Вся сторона графического интерфейса и сохранение дат и времени, которые я сделал, однако, чтобы диспетчер аварийных сигналов повторил, скажем, каждый понедельник в 14:00, а затем может отправить в 14:02.Я использовал объект календаря java для хранения времени и дней недели или даже использовал дату и день недели месяца.Затем они при необходимости преобразуются в миллисекунды для их считывания диспетчером аварийных сигналов.
Затем я использовал либо установленный диспетчер аварийных сигналов, либо настроил методы повтора для повторения события.Все, что я могу сделать, это заставить это произойти один раз, а затем, если я изменю дату и время эмулятора на другой понедельник, ничего не произойдет.
Графический интерфейс содержит часы и минуты в требуемых переменных, а затем они используются противобъекты календаря.
Диспетчер аварийных сигналов вызывает широковещательный приемник, чтобы произошло событие.
Пожалуйста, кто-нибудь может просто привести пример того, как установить конкретные дни, такие как понедельник, среда, пятница.Я знаю, что для каждого дня нужны отдельные диспетчеры сигналов тревоги, и на данный момент я просто сосредоточился на понедельнике в качестве основного теста.
Просмотрено ссылок:
удалось выяснить это сейчас и так следует мой ответ:
Следующий код вычисляет оставшиеся дни междусейчас и день, необходимый для запланированного задания.переменная, день которой передается через параметр из метода, которому принадлежит этот код.В понимании этого дня, который представляет дни недели с 1 по 7, где 1 - воскресенье, 2 - понедельник и т. Д.
//This gets the current day of the week as of TODAY / NOW
int checkcurrentday = getcurtime.get(Calendar.DAY_OF_WEEK);
// This calculates the days between now and the day needed which is represented by whichday.
int numberofdays = Calendar.SATURDAY + whichday - checkcurrentday;
//Now add NOT set the difference of the days to your Calendar object
tMondayOn.add(Calendar.DATE, numberofdays);