Создание аналога будильника.
Добавлено: 07 сен 2013, 00:52
Доброго времени дня
.
Пытаюсь сделать что-то по типу будильника, с настройками дней недели и времени исполнения.
Пока для проверки использую системный рингтон, но потом он будет выполнять свою работу.
Будильников может быть несколько, каждый может настраиваться на разные дни недели и на разное время.
Для этого сделал таблицу, которая хранит id строки, конкретного будильника, его состояние (если включне - 1, выключен 0), по той же самой системе хранится значение каждого дня недели.
Теперь вопросы
:
1. Для того. чтобы будильник повторялся в определенные дни недели, нужно ставить для каждого дня свой будильник и делать ему повторение раз 7 дней (указать интервал в миллисекундах)?
Что-то по типу:
2. Пользователь захочет поменять время выполнения будильника или дни выполнения у уже существующего. Как вообще правильно это обработать, стоит добавить еще столбцы в таблицу, которые будут хранить предыдущие изменения и с их помощью отменять PendingIntent ?
3. Может есть возможность получить все PendingIntent , которые относятся к моей аппликации, отменить их и пересоздать, если я вношу какие-то изменения ?
Подскажите, как вообще это все правильно делается, я уже совсем запутался
.
Какой у меня должен быть порядок действий
?
Заранее благодарен.
Пытаюсь сделать что-то по типу будильника, с настройками дней недели и времени исполнения.
Пока для проверки использую системный рингтон, но потом он будет выполнять свою работу.
Будильников может быть несколько, каждый может настраиваться на разные дни недели и на разное время.
Для этого сделал таблицу, которая хранит id строки, конкретного будильника, его состояние (если включне - 1, выключен 0), по той же самой системе хранится значение каждого дня недели.
Теперь вопросы
1. Для того. чтобы будильник повторялся в определенные дни недели, нужно ставить для каждого дня свой будильник и делать ему повторение раз 7 дней (указать интервал в миллисекундах)?
Что-то по типу:
Код: Выделить всё
AlarmManager manager = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);
PendingIntent pi = PendingIntent.getBroadcast(context, alarmId,
disableIntent, PendingIntent.FLAG_UPDATE_CURRENT);
manager.setRepeating(AlarmManager.RTC_WAKEUP, triggerAt, ONE_WEEK_MILLISECS, pi);3. Может есть возможность получить все PendingIntent , которые относятся к моей аппликации, отменить их и пересоздать, если я вношу какие-то изменения ?
Подскажите, как вообще это все правильно делается, я уже совсем запутался
Какой у меня должен быть порядок действий
Заранее благодарен.