BroadcastReceiver и БД
-
- Сообщения: 77
- Зарегистрирован: 21 июл 2013, 17:33
BroadcastReceiver и БД
Нужно, чтобы BroadcastReceiver постоянно проверял текущее время и сверял его с записями из БД. А если есть совпадение, выдавал уведомление. Как это сделать?
Заранее спасибо за ответ!
Заранее спасибо за ответ!
Re: BroadcastReceiver и БД
Я не понел ничегоМаксим Янчий писал(а):Нужно, чтобы BroadcastReceiver постоянно проверял текущее время и сверял его с записями из БД. А если есть совпадение, выдавал уведомление. Как это сделать?
Заранее спасибо за ответ!
-
- Сообщения: 77
- Зарегистрирован: 21 июл 2013, 17:33
Re: BroadcastReceiver и БД
Нужно выдавать уведомление в определенное время. Если время из андроида и записи из БД совпадает выводить уведомлениеBeKZaT писал(а):Я не понел ничегоМаксим Янчий писал(а):Нужно, чтобы BroadcastReceiver постоянно проверял текущее время и сверял его с записями из БД. А если есть совпадение, выдавал уведомление. Как это сделать?
Заранее спасибо за ответ!
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: BroadcastReceiver и БД
Если не "понел", лучше промолчать.BeKZaT писал(а):Я не понел ничего
Проверять через определенное время не лучшая идея. Лучше запланировать ближайшую нотификацию через AlarmManger и в момент ее срабатывания, после вывода сообщения, назначить нотификацию на следующее событие.
Имхо, лучше сделать в базе дополнительное поле, отвечающее за то, показывалось сообщение или нет. Тогда при срабатывании AlarmManager можно показать все не показанные сообщения с датой меньше текущей, после чего пометить их как показанные. Это поможет избежать пропадания сообщений назначенных на одно время, а также устранит проблему с выводом сообщений если телефон в это время был выключен.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
-
- Сообщения: 77
- Зарегистрирован: 21 июл 2013, 17:33
Re: BroadcastReceiver и БД
Прошу прощения, а как проследить когда будет выведено сообщение, чтобы задать новое уведомление?KamiSempai писал(а):Если не "понел", лучше промолчать.BeKZaT писал(а):Я не понел ничего
Проверять через определенное время не лучшая идея. Лучше запланировать ближайшую нотификацию через AlarmManger и в момент ее срабатывания, после вывода сообщения, назначить нотификацию на следующее событие.
Имхо, лучше сделать в базе дополнительное поле, отвечающее за то, показывалось сообщение или нет. Тогда при срабатывании AlarmManager можно показать все не показанные сообщения с датой меньше текущей, после чего пометить их как показанные. Это поможет избежать пропадания сообщений назначенных на одно время, а также устранит проблему с выводом сообщений если телефон в это время был выключен.
Заранее спасибо за ответ!
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: BroadcastReceiver и БД
Создается PendingIntent с броадкастом и передается в метод set AlarmManager-a.
Тут показано как это делается http://stackoverflow.com/questions/4459 ... er-example
Только там используется setRepeating вместо set. Думаю, не нужно объяснять чем они отличаются.
Тут показано как это делается http://stackoverflow.com/questions/4459 ... er-example
Только там используется setRepeating вместо set. Думаю, не нужно объяснять чем они отличаются.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
-
- Сообщения: 77
- Зарегистрирован: 21 июл 2013, 17:33
Re: BroadcastReceiver и БД
Спасибо большое!KamiSempai писал(а):Создается PendingIntent с броадкастом и передается в метод set AlarmManager-a.
Тут показано как это делается http://stackoverflow.com/questions/4459 ... er-example
Только там используется setRepeating вместо set. Думаю, не нужно объяснять чем они отличаются.