Je veux que la notification sera fermée après que l'utilisateur clique dessus. J'ai vu que tout le monde demandait d'utiliser des drapeaux, mais je ne les trouve nulle part parce que j'utilise la classe NotificationCompat.Builder et non la classe Notification. Quelqu'un a une idée de comment faire en sorte que la notification se supprime d'elle-même?
Voici mon code lorsque je configure la notification:
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("New Question")
.setContentText("" + QuestionData.getAuthor().getUserName() + ": " + QuestionData.getQuestion() + "");
Intent openHomePageActivity = new Intent("com.example.ihelp.HOMEPAGEACTIVITY");
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addNextIntent(openHomePageActivity);
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(
0,
PendingIntent.FLAG_UPDATE_CURRENT
);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(0, mBuilder.build());
Facile, appelez simplement ceci:
mBuilder.setAutoCancel(true);
De plus, bien que ce ne soit pas vraiment nécessaire, si vous voulez vraiment utiliser FLAG_AUTO_CANCEL
, appelez simplement ceci avant d'appeler mNotificationManager.notify
:
mBuilder.build().flags |= Notification.FLAG_AUTO_CANCEL;
Essaye ça....
NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
..........
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
this).setSmallIcon(R.drawable.Push_notify_icon)
.setContentTitle("New Question!")
.setStyle(new NotificationCompat.BigTextStyle().bigText(msg))
.setAutoCancel(true).setContentText("" + QuestionData.getAuthor().getUserName() + ": " + QuestionData.getQuestion() + "");
mBuilder.setContentIntent(contentIntent);
..............
mBuilder.getNotification().flags |= Notification.FLAG_AUTO_CANCEL;
mNotificationManager.notify(0, mBuilder.build());
Voici la notification:
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_calendar)
.setContentTitle("My Firebase Push notification")
.setContentText(message)
.setAutoCancel(true)
.setSound(soundUri)
.setContentIntent(pendingIntent);
la clé derrière l'annulation au clic est:
.setAutoCancel(true)
j'espère que cela résoudra le problème.
Vous pouvez ajouter un drapeau à votre notification:
http://developer.Android.com/reference/Android/app/Notification.html#FLAG_AUTO_CANCEL
Cela le rejettera en cliquant.
En kotlin, vous pouvez utiliser:
mBuilder.build().flags.and(Notification.FLAG_AUTO_CANCEL)