J'ai un problème avec alarmManager
et l'intention en attente avec des extras qui iront avec elle.Comment puis-je transmettre correctement des extras uniques à une intention en attente?
Si je règle plusieurs alarmes, elles s'éteindront, mais les extras resteront les mêmes.
Je l'ai déjà lu dans ces questions:
- android pending intent notification problem
- Android keeps caching my intents Extras, how to declare a pending intent that keeps fresh extras?
et j'ai essayé:
- attribuer un identifiant unique à chaque intention en attente et
- en utilisant tous les drapeaux d'intention en attente,
tous en vain. Je n'ai aucune idée pourquoi ça ne marchera pas.
Voici un extrait de code:
Intent intent = new Intent(con,
AppointmentNotificationReciever.class);
intent.putExtra("foo", bar.toString());
int id = randomNum;
PendingIntent sender = PendingIntent.getBroadcast(con, id,
intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) con.getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, scheduleExecution, sender);
Dans mon intention en attente j'essaie de définir le PendingIntent.FLAG_UPDATE_CURRENT, mais maintenant quand l'intention est appelée, j'obtiens une erreur comme "java.lang.IllegalArgumentException: Impossible d'utiliser FLAG_RECEIVER_BOOT_UPGRADE ici" - aucune idée cependant où cette BOOT le drapeau vient, tout ce que j'ai ajouté est le FLAG_UPDATE_CURRENT. Avez-vous déjà eu un problème similaire? (Je suis sur Huawei Ideos, 2.2) –
Mise en place d'une action en effet résolu mon problème, merci! – shawkinaw
setaction était bon pour moi .. même problème – catalin87