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具有相同的意圖覆蓋以前。 –