Запланируйте сигнал тревоги после загрузки, полученный с указанным намерением в указанное время, и график повторяющихся сигналов тревоги в дни недели - PullRequest
0 голосов
/ 07 сентября 2018

После перезагрузки все тревоги отменяются, поэтому для перепланирования тревоги мы используем разрешение RECEIVE_BOOT_COMPLETED и класс, который расширяет BroadcastReceiver и переопределяет метод onReceive. Это понятно Но давайте предположим, что у меня есть timepicker и datepicker, и я планирую 3 тревоги и выбираю 3 из 5 доступных для запуска сервисов (назовем их сервисами Q, W, X, Y, Z) * ​​1002 *

1-й пожар в 5 вечера через 2 дня (скажем, это будет 09.09.2018) и запустить службу X.

2-е срабатывает в 15:30 дня позже (15:30 22.09.2018) и запускает службу Y

3-й огонь в 12 часов утра 5 дней спустя (12.09.2018) и запускает службу Z.

Теперь в методе onReceive я не могу просто установить эти аварийные сигналы программно, потому что эти даты, время и службы определяются пользователем. Чтобы сделать это, я решил сохранить эту информацию в базе данных, такой как локальная база данных sqlite, и в onReceive вызвать метод, который будет считывать эти значения, сравнить, если тревога все еще действительна, а затем установить ее обратно. Это правильный путь, я думаю? Или тут проще?

Еще один вопрос о повторении тревоги в указанный день недели. Давайте предположим, что пользователь хочет повторять сигнал тревоги каждый понедельник и вторник. Я читал о срабатывании будильника каждый день, и проверял, готов ли он на день или нет. Чтобы достичь этого, я также подумал о создании базы данных, содержащей дни, когда должна срабатывать сигнализация, а затем сервис снова считывает это значение и срабатывает или нет. Или есть другой, более простой способ?

...