Apenas um alarme disparado quando os múltiplos estão definidas

votos
2

Meu objetivo é disparar um alarme para cada evento a partir eventsDb.getFavouriteEvents()mas apenas um é disparado toda vez.

Na minha opinião, pode ser causada por definição PendingIntent.FLAG_UPDATE_CURRENT, no entanto eu preciso esta bandeira para postar Extras com a intenção. Existe alguma maneira de não definir este sinalizador e ainda postar Extras com a intenção?

Eu estou armazenando PendinIntentsem uma coleção ( pendingIntents) porque eu estou cancelando-los em onDestroy()desta Serviceclasse.

Este é o código de 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);
}

Obrigado pela ajuda!

Publicado 02/05/2012 em 23:06
fonte usuário
Em outras línguas...                            


1 respostas

votos
5

O PendingIntent será substituído no envio se eles compartilham o mesmo código. Alterar o código para cada intenção de envio deve corrigir esse problema.

Respondeu 02/05/2012 em 23:11
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more