Моя цель - запустить будильник для каждого события от eventsDb.getFavouriteEvents()
, но только один уволен каждый раз.Только один аварийный сигнал, когда установлены несколько из них
По-моему, это может быть вызвано установкой PendingIntent.FLAG_UPDATE_CURRENT
, но мне нужен этот флаг для отправки дополнительных заданий с намерением. Есть ли способ не устанавливать этот флаг и до сих пор отправлять дополнения с намерением?
Я хранение PendinIntents
в коллекции (pendingIntents
), потому что я их отмены в onDestroy()
этого Service
класса.
Это код из onCreate()
:
for(Event event : eventsDB.getFavouriteEvents()) {
Intent intent = new Intent(AlarmReciever.ONCOMING_EVENT);
intent.putExtra(Event.TITLE, event.getTitle());
PendingIntent pendingIntent = PendingIntent.getBroadcast(EventAlarmService.this, 0, intent,
Intent.FLAG_GRANT_READ_URI_PERMISSION | PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.set(AlarmManager.RTC_WAKEUP, event.getTime(), pendingIntent);
pendingIntents.add(pendingIntent);
}
Спасибо за помощь!
Так вот для чего нужны 'requestCodes'! Спасибо:) –
или вы можете использовать различные действия по намерениям, чтобы их отличить. PendingIntent с таким же намерением перезаписывает предыдущий. –