He estado tratando durante horas para retirar una notificación permanente establecido por un servicio usando:NotificationManager.cancel() no funciona para mí
startForeground(1337, notification);
El código que estoy usando para cancelarlo:
NotificationManager nManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
nManager.cancel(1337); // cancel existing service notification, doesn't take effect
nManager.cancelAll(); //surpluous, but also doesn't take effect
¿Qué es lo que falta aquí? Estoy desconcertado.
Para aclarar por qué estoy haciendo esto: el Servicio comienza con una Notificación persistente predeterminada. Cuando se ejecuta mi aplicación, debe reemplazar esta Notificación por otra. Sin embargo, el uso de notify()
en la notificación existente funciona perfectamente; también necesito que se muestre el texto de la nueva notificación. Es por eso que decidí eliminar la Notificación existente (usando el código anterior), crear una nueva, y luego llamo al startForeground()
nuevamente y le paso la nueva Notificación, por lo que mi Servicio continúa.
¿Está tratando de eliminar una notificación que se inició desde otra aplicación? – matt5784
no, es la misma aplicación – slinden77