Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo borrar una notificación en Android

¿Es posible borrar una notificación mediante programación?

Lo intenté con el NotificationManager pero no está funcionando. ¿Hay alguna otra manera que puedo hacerlo?

11 Solutions collect form web for “Cómo borrar una notificación en Android”

Utilice el código siguiente para cancelar una notificación:

 NotificationManager notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.cancel(NOTIFICATION_ID); 

En este código siempre se encuentra el id id utilizado para las notificaciones. Si tiene notificaciones diferentes que deben cancelarse, tiene que guardar los identificadores que utilizó para crear la notificación.

De: http://developer.android.com/guide/topics/ui/notifiers/notifications.html

Para borrar la notificación de barra de estado cuando el usuario la selecciona en la ventana Notificaciones, agregue el indicador "FLAG_AUTO_CANCEL" a su objeto Notificación. También puede borrarlo manualmente con cancel (int), pasándole el ID de notificación o borrar todas sus notificaciones con cancelAll ().

Pero Donal tiene razón, sólo puede borrar las notificaciones que ha creado.

Puesto que nadie ha publicado un código de respuesta a esto:

 notification.flags = Notification.FLAG_AUTO_CANCEL; 

.. y si ya tiene banderas, puede OR FLAG_AUTO_CANCEL como este:

 notification.flags = Notification.FLAG_INSISTENT | Notification.FLAG_AUTO_CANCEL; 

Comenzando con el API nivel 18 (Jellybean MR2) puede cancelar notificaciones que no sean las suyas a través de NotificationListenerService.

 @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2) public class MyNotificationListenerService extends NotificationListenerService {...} 

 private void clearNotificationExample(StatusBarNotification sbn) { myNotificationListenerService.cancelNotification(sbn.getPackageName(), sbn.getTag(), sbn.getId()); } 

Por favor, pruebe el método predeterminado proporcionado en NotificationManager .

NotificationManager.cancelAll() para eliminar todas las notificaciones. NotificationManager.cancel(notificationId) para eliminar la notificación en particular.

Si está utilizando NotificationCompat.Builder (una parte de android.support.v4 ), simplemente llame al método de su objeto setAutoCancel

 NotificationCompat.Builder builder = new NotificationCompat.Builder(context); builder.setAutoCancel(true); 

Algunos chicos estaban reportando que setAutoCancel() no funcionó para ellos, así que puedes probar de esta manera también

 builder.getNotification().flags |= Notification.FLAG_AUTO_CANCEL; 

Tenga en cuenta que el método getNotification() ha sido obsoleto !!!

  String ns = Context.NOTIFICATION_SERVICE; NotificationManager Nmang = (NotificationManager) getApplicationContext() .getSystemService(ns); Nmang .cancel(getIntent().getExtras().getInt("notificationID")); 

Para más referencia haga clic aquí http://androiddhina.blogspot.in/2015/01/how-to-clear-notification-in-android.html

En realidad, como se respondió antes de comenzar con el API de nivel 18, puede cancelar las notificaciones publicadas por otras aplicaciones diferentes de su propio uso de NotificationListenerService, pero ese enfoque ya no funcionará en Lollipop, aquí está la manera de eliminar las notificaciones que cubre también Lillipop API.

 if (Build.VERSION.SDK_INT < 21) { cancelNotification(sbn.getPackageName(), sbn.getTag(), sbn.getId()); } else { cancelNotification(sbn.getKey()); } 

Si está generando la notificación de un servicio que se inicia en primer plano mediante

 startForeground(NOTIFICATION_ID, notificationBuilder.build()); 

Luego emitir

 notificationManager.cancel(NOTIFICATION_ID); 

No termina cancelando la notificación y la notificación sigue apareciendo en la barra de estado. En este caso particular, necesitará emitir

 stopForeground( true ); 

Desde dentro del servicio para volver a ponerlo en modo de fondo y cancelar simultáneamente las notificaciones. Alternativamente, puede empujarlo en segundo plano sin tener que cancelar la notificación y, a continuación, cancelar la notificación.

 stopForeground( false ); notificationManager.cancel(NOTIFICATION_ID); 
  // Get a notification builder that's compatible with platform versions // >= 4 NotificationCompat.Builder builder = new NotificationCompat.Builder( this); builder.setSound(soundUri); builder.setAutoCancel(true); 

Esto funciona si está utilizando un constructor de notificaciones …

  Notification mNotification = new Notification.Builder(this) .setContentTitle("A message from: " + fromUser) .setContentText(msg) .setAutoCancel(true) .setSmallIcon(R.drawable.app_icon) .setContentIntent(pIntent) .build(); 

.setAutoCancel (true)

Cuando hace clic en notificación, abra la actividad correspondiente y elimine la notificación de la barra de notificación

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.