2
我的目标是为每个来自eventsDb.getFavouriteEvents()
的事件发出闹钟,但每次只有一个闹钟被触发。当设置多个闹钟时,只发出一个闹钟
在我看来,它可能是由设置PendingIntent.FLAG_UPDATE_CURRENT
造成的,但是我需要这个标志来发布额外的意图。有没有办法不设置这个标志,并且仍然在附加意图上发布附加信息?
我将PendinIntents
存储在收藏夹中(pendingIntents
),因为我将在类的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);
}
感谢您的帮助!
所以这就是'requestCodes'的用途!感谢:) –
或者您可以对意图使用不同的操作来区分它们。 PendingIntent具有相同的意图覆盖以前。 –