¿Es posible borrar una notificación mediante programación?
Lo intenté con el NotificationManager
pero no funciona. ¿Hay alguna otra forma en que pueda hacerlo?
android
notifications
rahul
fuente
fuente
Respuestas:
Utilice el siguiente código para cancelar una notificación:
En este código siempre se usa la misma identificación para las notificaciones. Si tiene diferentes notificaciones que deben cancelarse, debe guardar los identificadores que utilizó para crear la notificación.
fuente
setContentText
), aunque configuré la prioridad en 2. ¿Alguna sugerencia?De: http://developer.android.com/guide/topics/ui/notifiers/notifications.html
Pero Donal tiene razón, solo puede borrar las notificaciones que creó.
fuente
Dado que nadie ha publicado una respuesta en código a esto:
.. y si ya tienes banderas, puedes OR FLAG_AUTO_CANCEL así:
fuente
notifcation.flags |= Notification.FLAG_AUTO_CANCEL;
Pruebe el método predeterminado proporcionado en NotificationManager .
NotificationManager.cancelAll()
para eliminar todas las notificaciones.NotificationManager.cancel(notificationId)
para eliminar una notificación particular.fuente
cancel
método, elcancel
método no es estático, por lo que necesita una instanciaNotificationManager
como esta:NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
Luego puede llamarnotificationManager.cancel(notificationId);
como Rohit Suthar al que se hace referencia en su respuesta.notificationId
es simplemente la identificación quenotificationManager.notify(notificationId, mNotification)
A partir del nivel de API 18 (Jellybean MR2), puede cancelar notificaciones que no sean las suyas a través de NotificationListenerService.
...
fuente
.setAutoCancel (verdadero)
cuando hace clic en la notificación, abre la actividad correspondiente y elimina la notificación de la barra de notificaciones
fuente
Si está generando una notificación desde un servicio que se inicia en primer plano usando
Luego emitiendo
no termina cancelando la Notificación, y la notificación sigue apareciendo en la barra de estado. En este caso particular, deberá emitir
desde el servicio para volver a ponerlo en segundo plano y cancelar simultáneamente las notificaciones. Alternativamente, puede colocarlo en segundo plano sin que cancele la notificación y luego cancelar la notificación.
fuente
Si está usando
NotificationCompat.Builder
(una parte deandroid.support.v4
), simplemente llame al método de su objetosetAutoCancel
Algunos chicos informaron que
setAutoCancel()
no funcionó para ellos, por lo que puede intentarlo de esta manera tambiénTenga en cuenta que el método
getNotification()
ya no se utiliza !!!fuente
esto funciona si está utilizando un generador de notificaciones ...
fuente
para obtener más referencias, haga clic aquí http://androiddhina.blogspot.in/2015/01/how-to-clear-notification-in-android.html
fuente
En realidad, como se respondió antes de comenzar con API Nivel 18, puede cancelar las notificaciones publicadas por otras aplicaciones diferentes a la suya usando NotificationListenerService, pero ese enfoque ya no funcionará en Lollipop, aquí está la forma de eliminar las notificaciones que cubren también la API de Lillipop.
fuente
cancelNotification
¿qué es?Todas las notificaciones (incluso otras notificaciones de aplicaciones) se pueden eliminar escuchando 'NotificationListenerService' como se menciona en la Implementación de NotificationListenerService
En el servicio tienes que llamar
cancelAllNotifications()
.El servicio debe estar habilitado para su aplicación a través de:
'Aplicaciones y notificaciones' -> 'Acceso a aplicaciones especiales' -> 'Acceso a notificaciones'.
fuente
este código funcionó para mí:
fuente
Creo que el más RECIENTE y ACTUALIZADO para AndroidX y la compatibilidad con versiones anteriores. La mejor forma de hacerlo (Kotlin y Java) debe hacerse como:
O cancelar todas las notificaciones es:
Hecho para AndroidX o bibliotecas de soporte.
fuente