Stworzyłem aplikację i wraz ze zdarzeniem udało mi się dodać powiadomienie w pasku powiadomień Androida. Teraz potrzebuję próbki, jak usunąć to powiadomienie z paska powiadomień na wydarzeniu?
android
notifications
Nezir
źródło
źródło
Odpowiedzi:
To jest całkiem proste. Musisz zadzwonić
cancel
lub skorzystaćcancelAll
z NotificationManager. Parametrem metody anuluj jest identyfikator powiadomienia, które ma zostać anulowane.Zobacz interfejs API: http://developer.android.com/reference/android/app/NotificationManager.html#cancel(int)
źródło
Możesz wypróbować ten szybki kod
źródło
Możesz także zadzwonić
cancelAll
do menedżera powiadomień, więc nie musisz się nawet martwić o identyfikatory powiadomień.EDYCJA: zostałem odrzucony, więc może powinienem sprecyzować, że spowoduje to tylko usunięcie powiadomienia z twojej aplikacji.
źródło
startForeground(NOTIFICATION_ID, mNotification);
po prostu ustaw setAutoCancel (True) jak w poniższym kodzie:
źródło
to pomoże:
powinno to usunąć wszystkie powiadomienia wysłane przez aplikację
i jeśli utworzysz powiadomienie dzwoniąc
być może będziesz musiał zadzwonić
najpierw, a następnie anuluj powiadomienie.
źródło
Jeśli generujesz powiadomienie z usługi, która jest uruchamiana na pierwszym planie przy użyciu
Następnie wydawanie
nie działa anulowanie Powiadomienia i powiadomienia nadal pojawiają się na pasku stanu. W tym konkretnym przypadku możesz rozwiązać te problemy na dwa sposoby:
1> Używanie stopForeground (false) inside service:
2> Zniszcz tę klasę usług za pomocą aktywności wywoływania:
Drugi sposób bardziej preferuje powiadomienia odtwarzacza muzyki, ponieważ dzięki temu można nie tylko usunąć powiadomienia, ale także usunąć odtwarzacz ... !!
źródło
stopForeground(true); manager.cancelAll();
jest tym, co dla mnie rozwiązało!Spróbuj tego,
źródło
Użyj NotificationManager, aby anulować powiadomienie. Musisz tylko podać swój identyfikator powiadomienia
mNotificationManager.cancel (YOUR_NOTIFICATION_ID);
sprawdź także ten link Zobacz link programisty
źródło
NotificationManager.cancel(id)
to poprawna odpowiedź. Możesz jednak usunąć powiadomienia w Androidzie Oreo i późniejszych, usuwając cały kanał powiadomień. Powinno to usunąć wszystkie wiadomości z usuniętego kanału.Oto przykład z dokumentacji Androida :
źródło
W Android API> = 23 możesz zrobić coś takiego, aby usunąć grupę powiadomień.
źródło
Wystarczy zadzwonić na ID:
źródło