ユーザーがクリックした後に通知が閉じられるようにします。誰もがフラグを使用するように言っているのを見ましたが、NotificationクラスではなくNotificationCompat.Builderクラスを使用しているため、どこにもフラグを見つけることができません。誰かが自分で通知を削除する方法を知っていますか?
通知を設定するときのコードは次のとおりです。
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());
簡単で、単にこれを呼び出します:
mBuilder.setAutoCancel(true);
また、必ずしも必要ではありませんが、FLAG_AUTO_CANCEL
を本当に使用する場合は、mNotificationManager.notify
を呼び出す前にこれを呼び出してください。
mBuilder.build().flags |= Notification.FLAG_AUTO_CANCEL;
これを試して....
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());
通知は次のとおりです。
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);
クリック時のキャンセルの鍵は次のとおりです。
.setAutoCancel(true)
それが問題を解決することを願っています。
通知にフラグを追加できます。
http://developer.Android.com/reference/Android/app/Notification.html#FLAG_AUTO_CANCEL
これはクリックするとそれを閉じます。
Kotlinでは、次を使用できます。
mBuilder.build().flags.and(Notification.FLAG_AUTO_CANCEL)