[英]Only one alarm fired when multiple ones are set
我的目标是为eventsDb.getFavouriteEvents()
每个事件触发一个警报,但每次仅触发一个。
我认为,这可能是由于设置PendingIntent.FLAG_UPDATE_CURRENT
引起的,但是我需要此标志来发布具有意图的Extras。 有什么方法可以不设置此标志,而仍可以按意图发布Extras?
我将PendinIntents
存储在一个Collection中( pendingIntents
PendinIntents
),因为要在此Service
类的onDestroy()
中取消它们。
这是来自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);
}
感谢帮助!
如果它们共享相同的代码,则PendingIntent将在发送时被覆盖。 更改每个发送意图的代码应解决此问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.