2017-05-11 3 views
0

Hier ist das Problem: Ich zeige Benachrichtigungen gerade gut, wenn ich 3 Benachrichtigungen senden kann ich alle 3 von ihnen sehen. Egal, welche Benachrichtigung ich treffe oder ob ich die App öffne. Es wird immer die Aktion der letzten Benachrichtigung ausführen, und es verwirft die älteren Wünsche.Letzte Firebase Benachrichtigung Aktion überschreibt die älteren in Android

Was ich will, ist es auf/App öffnen, mit dem neuesten beginnen und mit den älteren weitermachen.

Muss ich damit nur Logik umgehen? Oder gibt es eine Methode wie die Verwendung von ausstehenden Absichten, die ich verwenden könnte?

ich den Code nicht unbedingt benötigen, dies zu beheben, nur eine Erklärung, wie dies liegt hier :)

Antwort

0

Das Problem tun konnte, nähern:

PendingIntent resultPendingIntent = 
      PendingIntent.getActivity(mCtx, NOTIFICATION, intent, PendingIntent.FLAG_UPDATE_CURRENT); 

Überprüfen Sie, ob die requestCode der Sie Passing über NOTIFICATION ist unterschiedlich für jede PendingIntent oder nicht.

PendingIntent.FLAG_UPDATE_CURRENT Aktualisierungen PendingIntent mit der neuen Intent für eine gegebene requestCode.

Ich denke, was in Ihrem Fall geschieht, Sie denselben Wert für requestCode in PendingIntent.getActivity() Verfahren, sind vorbei, das bedeutet, dass Sie gleiche ID an all 3 Intents geben, und da Sie einen Flag PendingIntent.FLAG_UPDATE_CURRENT angegeben haben, Android wird aktualisiert Intent für alle ausstehenden Intents mit dem letzten bereitgestellten Intent.

Versuchen Sie, verschiedene requestCode für verschiedene PendingIntent s anzugeben. Ich denke, das sollte den Trick für dich tun.

+0

Vielen Dank für Ihre ausführliche Antwort! Lassen Sie mich sehen, wenn ich verstehe, die Art, es zu beheben, wäre, zu ändern, wo ich die Funktion rufe? Die Absicht, die ich vorbeigehe? oder wäre es, die Funktion selbst zu ändern? – dfabiano

+0

In dieser Zeile 'PendingIntent resultPendingIntent = PendingIntent.getActivity (mCtx, NOTIFICATION, intent, PendingIntent.FLAG_UPDATE_CURRENT); 'Sie müssen sicherstellen, dass der Wert" NOTIFICATION "für verschiedene Benachrichtigungen unterschiedlich ist. –

Verwandte Themen