Ich habe eine benutzerdefinierte Benachrichtigung mit einer Aktionsschaltfläche:
%Vor% %Vor%Ich möchte die Benachrichtigung abbrechen, auf die ich die Aktionstaste "Schließen" geklickt habe.
Ich weiß, dass ich die ID der Benachrichtigung brauche, um sie abzubrechen, aber wie ich den Code gemacht habe, wenn ich auf die Schaltfläche "Schließen" klicke und die Klasse CancelNotification erstelle, die BroadCastReceiver erweitert, bekomme ich die Benachrichtigungs-ID des letzte Benachrichtigung, und so schließt die letzte Benachrichtigung, selbst wenn ich auf die erste Benachrichtigung klicke, die ich erstellt habe.
Was könnte ich falsch machen?
Ich habe es gefunden
Sie pendingIntent sendet immer den Anforderungscode == 0;
Da Sie mehrere Benachrichtigungen haben, sollte jeder einen anderen requestCode verwenden.
Versuchen Sie also, Folgendes zu ändern:
Von:
%Vor%An:
%Vor%Ich habe Ihren Code hier getestet und er funktioniert nach der Änderung, die ich gemacht habe.
Es ist immer besser, den Builder für Benachrichtigungen zu verwenden. Hier ein Beispiel:
%Vor%Als Nächstes müssen Sie eine Absicht erstellen, auf welche Aktivität Sie bei einer Benachrichtigung klicken möchten.
%Vor%Erstellen Sie dann Ihren Benachrichtigungsmanager
%Vor%Benachrichtigungs-ID kann ein beliebiger ganzzahliger Wert sein. Die Verwendung dieses Typs bietet Ihnen den Vorteil, dass Sie immer die Android-Normen für Benachrichtigungen befolgen.
Tags und Links java android push-notification