son sobre quitar que puntos permanentes otras oreo notificaciones notificacion muestra los globo flotantes barra aplicaciones android notifications

android - sobre - que son los puntos de notificacion



Android: eliminar la notificación de la barra de notificaciones (11)

He creado una aplicación y con un evento logro agregar una notificación en la barra de notificaciones de Android. ¿Ahora necesito una muestra de cómo eliminar esa notificación de la barra de notificaciones en un evento?


En Android API> = 23 puedes hacer algo como esto para eliminar un grupo de notificaciones.

for (StatusBarNotification statusBarNotification : mNotificationManager.getActiveNotifications()) { if (KEY_MESSAGE_GROUP.equals(statusBarNotification.getGroupKey())) { mNotificationManager.cancel(statusBarNotification.getId()); } }


Por favor, intente esto,

public void removeNotification(Context context, int notificationId) { NotificationManager nMgr = (NotificationManager) context.getApplicationContext() .getSystemService(Context.NOTIFICATION_SERVICE); nMgr.cancel(notificationId); }


Puedes probar este código rápido

public static void cancelNotification(Context ctx, int notifyId) { String ns = Context.NOTIFICATION_SERVICE; NotificationManager nMgr = (NotificationManager) ctx.getSystemService(ns); nMgr.cancel(notifyId); }


Si está generando una notificación desde un servicio que se inicia en primer plano usando

startForeground(NOTIFICATION_ID, notificationBuilder.build());

Luego emitiendo

notificationManager.cancel(NOTIFICATION_ID);

no funciona cancelando la notificación y la notificación aún aparece en la barra de estado. En este caso particular, los resolverá de 2 maneras:

1> Usando stopForeground (falso) dentro del servicio:

stopForeground( false ); notificationManager.cancel(NOTIFICATION_ID);

2> Destruye esa clase de servicio con actividad de llamadas:

Intent i = new Intent(context, Service.class); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); if(ServiceCallingActivity.activity != null) { ServiceCallingActivity.activity.finish(); } context.stopService(i);

¡La segunda manera prefiere más en la notificación del reproductor de música porque de esa manera no solo se elimina la notificación sino que también se elimina al jugador ...!


Solo llame a ID:

public void delNoti(int id) {((NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE)).cancel(id);}


También puede llamar a cancelAll en el administrador de notificaciones, para que no tenga que preocuparse por las identificaciones de notificación.

NotificationManager notifManager= (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); notifManager.cancelAll();

EDITAR: Me downvoted así que tal vez debería especificar que esto solo eliminará la notificación de su aplicación.


Use NotificationManager para cancelar su notificación. Solo necesita proporcionar su identificación de notificación

mNotificationManager.cancel (YOUR_NOTIFICATION_ID);

también verifique este enlace Vea Enlace de desarrollador


simplemente configure setAutoCancel (True) como el siguiente código:

Intent resultIntent = new Intent(GameLevelsActivity.this, NotificationReceiverActivityAdv.class); PendingIntent resultPendingIntent = PendingIntent.getActivity( GameLevelsActivity.this, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT ); NotificationCompat.Builder mBuilder = new NotificationCompat.Builder( getApplicationContext()).setSmallIcon(R.drawable.icon) .setContentTitle(adv_title) .setContentText(adv_desc) .setContentIntent(resultPendingIntent) //HERE IS WHAT YOY NEED: .setAutoCancel(true); NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); manager.notify(547, mBuilder.build());`


NotificationManager.cancel(id) es la respuesta correcta. Sin embargo, puede eliminar en Android Oreo y notificaciones posteriores eliminando todo el canal de notificación. Esto debería eliminar todos los mensajes en el canal eliminado.

Aquí está el ejemplo de la documentación de Android :

NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); // The id of the channel. String id = "my_channel_01"; mNotificationManager.deleteNotificationChannel(id);


esto ayudará:

NotificationManager mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); mNotificationManager.cannelAll();

y si crea una notificación llamando

startForeground();

dentro de un Servicio. Puede que tenga que llamar

stopForeground(false);

primero, luego cancela la notificación.