Aus der Dokumentation der ausstehenden Absicht FLAG_CANCEL_CURRENT
in Android:
Durch Abbrechen der vorherigen ausstehenden Absicht wird sichergestellt, dass nur Entitäten, die die neuen Daten erhalten, diese starten können. Wenn diese Zusicherung kein Problem ist, betrachten Sie FLAG_UPDATE_CURRENT
Kann jemand erklären, was diese Zeile bedeutet?
Sobald du ein neues PendingIntent
mit FLAG_CANCEL_CURRENT
erstellt hast, wird alles, das ein vorheriges PendingIntent
für dasselbe Intent
hält, nicht länger in der Lage sein, das ursprüngliche PendingIntent
auszuführen.
Nehmen wir zum Beispiel an, wir haben folgendes:
%Vor% und wir verwenden PendingIntent
beispielsweise mit Notification
.
Später führen wir aus:
%Vor% An diesem Punkt ist das ursprünglich erstellte PendingIntent
( pi
) nicht länger gültig und was immer wir pi2
für verwenden, wird den aktualisierten zusätzlichen Wert ( 2
) sehen.
Wenn wir stattdessen:
%Vor% An diesem Punkt stellen pi
und pi2
beide das gleiche PendingIntent
dar, und beide sehen den aktualisierten zusätzlichen Wert ( 2
).
Oder, wenn wir es getan haben:
%Vor% Zu diesem Zeitpunkt stellen pi
und pi2
immer noch den gleichen PendingIntent
dar, aber die Extras sind unverändert, da getActivity()
das Original PendingIntent
zurückgibt, ohne die neuen Extras anzuwenden .
In den meisten Fällen ist FLAG_UPDATE_CURRENT
eine gute Antwort, wenn Sie versuchen, Extras in PendingIntent
zu ersetzen.
Tags und Links android