Ich habe ein Problem mit alarmManager
und die ausstehende Absicht mit Extras, die damit einhergehen werden.Wie kann ich einzigartige Extras korrekt an eine ausstehende Absicht weitergeben?
Wenn ich mehrere Alarme einstelle, gehen diese aus, die Extras bleiben jedoch gleich.
Ich habe bereits in diese Fragen lesen:
- android pending intent notification problem
- Android keeps caching my intents Extras, how to declare a pending intent that keeps fresh extras?
und ich habe versucht:
- eine eindeutige ID für jede ausstehende Absicht zuweisen und
- mit allen ausstehenden Absicht Flags,
alles vergebens. Ich habe keine Ahnung, warum es nicht funktionieren wird.
ist hier ein Code-Schnipsel:
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);
In meiner anhängigen Absicht Ich versuche, den PendingIntent.FLAG_UPDATE_CURRENT zu setzen, aber jetzt, wenn die Absicht genannt wird, erhalte ich eine Fehlermeldung wie „java.lang.IllegalArgumentException: Kann nicht FLAG_RECEIVER_BOOT_UPGRADE verwendet hier“ - keine Ahnung, obwohl, wo dieses BOOT Flagge kommt von, alles, was ich wa FLAG_UPDATE_CURRENT hinzugefügt habe. Hattest du schon früher ein ähnliches Problem? (Ich bin auf Huawei Ideos, 2.2) –
Eine Aktion in der Tat löste mein Problem, danke! – shawkinaw
Setaction war gut für mich .. das gleiche Problem – catalin87