powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / Правильное использование AlarmManager
3 сообщений из 3, страница 1 из 1
Правильное использование AlarmManager
    #39161730
Dmitry Sukhovilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня,

Возникла необходимость сделать уведомления в приложении.
В базе данных есть таблица со временем, когда следует делать уведомления, в этой таблице 5-6 записей типа 12:30 14:00 и т.д.
Вопрос в том, как корректно передавать информацию из таблицы в AlarmManager ?
Как варианты
1) Использовать суточный повтор по интервалу раз в сутки. Есть опасность, что при очистки базы AlarmManager будет не заткнуть )
2) Раз в сутки запускать специальную задачу, которая перечитает базу и обновит все таймеры.
3) Каждый сработавший таймер (запись в таблице) будет тянуть из базы время для следующего запуска.
Спасибо.
...
Рейтинг: 0 / 0
Правильное использование AlarmManager
    #39161743
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Sukhovilin3) Каждый сработавший таймер (запись в таблице) будет тянуть из базы время для следующего запуска.
Я-бы так сделал.
...
Рейтинг: 0 / 0
Правильное использование AlarmManager
    #39164550
Dmitry Sukhovilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadmanDmitry Sukhovilin3) Каждый сработавший таймер (запись в таблице) будет тянуть из базы время для следующего запуска.
Я-бы так сделал.

Так и сделал, работает на первый взгляд нормально.
Тут вот какая проблема возникла..

При вызове заполнении полей в intent (putExtra()) и вызове с этим intent AlarmManager::set()
Код: java
1.
2.
3.
4.
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, AlarmReceiver.class);
intent.putExtra(AlarmElement.KEY, alarmElement);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, REQUEST_CODE, intent, 0);



В принимающем коде у нас пустой Intenet. Т.е. getXExtra() возвращает null.
Код: java
1.
2.
3.
4.
5.
6.
public class AlarmReceiver extends BroadcastReceiver {
@Override
    public void onReceive(Context context, Intent intent) {
     // вот тут нет информации в intent
  }
}



Я что то делаю не так?
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / Правильное использование AlarmManager
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]