Ich sende ein paar Benachrichtigungen in der Benachrichtigungsleiste, ich wollte alles löschen, wenn eine der Benachrichtigungen angeklickt wird. Für jetzt lösche ich eins nach dem anderen mit Flag. Ich weiß, notificationManager.cancelAll()
könnte die gesamte Benachrichtigung löschen, aber wo sollte ich setzen, so dass ich auslösen kann, sobald eine der Benachrichtigungen angeklickt wird.Wie werden alle Benachrichtigungen nach dem Klicken ordnungsgemäß gelöscht?
private static void generateNotification(Context context, String message) {
int icon = R.drawable.ic_launcher;
long when = System.currentTimeMillis();
NotificationManager notificationManager = (NotificationManager)
context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(icon, message, when);
String title = context.getString(R.string.app_name);
Intent notificationIntent = new Intent(context, MainActivity.class);
// set intent so it does not start a new activity
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |
Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent intent =
PendingIntent.getActivity(context, 0, notificationIntent, 0);
notification.setLatestEventInfo(context, title, message, intent);
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notificationManager.notify(msgid, notification);
//notificationManager.cancelAll(); //i wan to clear all when the notification is clicked, where should i put this line?
}
Es funktioniert nicht in meinem Fall. –
funktioniert nicht für mich –
funktioniert wie Charme –