Invio alcune notifiche sulla barra di notifica, volevo cancellare tutto quando si fa clic su una notifica. Per ora, ho eliminato uno ad uno usando Flag. So che notificationManager.cancelAll()
potrebbe cancellare tutte le notifiche ma dove dovrei inserire in modo che possa essere attivato una volta che si fa clic su una notifica.Come cancellare correttamente tutte le notifiche una volta cliccato?
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?
}
Non funziona nel mio caso. –
Non funziona per me –
funziona come un incantesimo –