Chcę, aby powiadomienie zostało zamknięte po kliknięciu przez użytkownika. Widziałem, że wszyscy mówią o używaniu flag, ale nie mogę ich nigdzie znaleźć, ponieważ używam klasy NotificationCompat.Builder, a nie klasy Notification. Ktoś ma pomysł, jak samodzielnie usunąć powiadomienie?
Oto mój kod, kiedy ustawiam powiadomienie:
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());
android
eclipse
notifications
Yossi Zloof
źródło
źródło
getNotifications
jest przestarzałe, użyj:mBuilder.build().flags |= Notification.FLAG_AUTO_CANCEL;
zamiastSpróbuj tego....
źródło
.getNotification()
jest przestarzałe, teraz użyj.build()
zamiast niegomBuilder.build().flags |= Notification.FLAG_AUTO_CANCEL;
Oto powiadomienie:
kluczem do anulowania kliknięcia jest:
mam nadzieję, że to rozwiązuje sprawę.
źródło
Możesz dodać flagę do swojego powiadomienia:
http://developer.android.com/reference/android/app/Notification.html#FLAG_AUTO_CANCEL
Spowoduje to odrzucenie go po kliknięciu.
źródło
W Kotlinie możesz użyć:
źródło