2016-03-21 11 views
1

Ich zeige mehrere Benachrichtigungen, jede Benachrichtigung mit einer eigenen ID, so dass alle Benachrichtigungen ordnungsgemäß angezeigt werden. Mein Problem ist, dass beim Klicken auf die letzte Benachrichtigung der PendingIntent der erste statt der letzte ist. Ich verstehe nicht, warum das passiert, da ich FLAG_ONE_SHOT verwende. Dies ist das Stück Code:PendingIntent funktioniert nicht bei Benachrichtigung

final PendingIntent pendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_ONE_SHOT); 
notificationBuilder.setContentIntent(pendingIntent); 

Vielen Dank im Voraus!

Antwort

0

Änderung Ihrer ausstehenden Absicht ID. Verwenden Sie einen anderen anstelle von 0

0

Verwenden Sie einen anderen requestCode von Pending Intent statt "0".

final PendingIntent PendingIntent = stackBuilder.getPendingIntent (your_ID, PendingIntent.FLAG_ONE_SHOT);

+0

Danke, es funktioniert jetzt! – FVod

+0

@FVod willkommen, genieße Android :) –

0

Wenn Sie alle Benachrichtigungen mit einer eindeutigen ID verwalten möchten, kann Ihnen dies helfen.

private PendingIntent getContentIntent(String key, Context context, int currentTimeStamp) { 
    Intent intent = new Intent(); 
    intent.setComponent(getComponentName(context)); 
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 
    return PendingIntent.getActivity(context, currentTimeStamp, intent, PendingIntent.FLAG_UPDATE_CURRENT); 
} 

diese Methode werden Sie zurückkehren anhängige Absicht Objekt