Die aktuelle Benachrichtigung bei Aktion abbrechen wurde aufgehoben

8

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?

    
Ravers 06.02.2016, 02:02
quelle

2 Antworten

4

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.

    
W0rmH0le 06.02.2016, 21:19
quelle
1

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.

    
Ragesh Ramesh 06.02.2016 02:20
quelle

Tags und Links