Ho cercato per ore per rimuovere una notifica persistente set di un servizio utilizzando:NotificationManager.cancel() non funziona per me
startForeground(1337, notification);
Il codice che sto usando per annullarla:
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
Cosa mi manca qui? Sono sconcertato.
Per chiarire perché sto facendo questo: il servizio inizia con una notifica persistente predefinita. Quando viene eseguita la mia app, è necessario sostituire questa notifica con un'altra. L'utilizzo di notify()
sulla notifica esistente funziona perfettamente, tuttavia, ho bisogno che mostri anche il testo del ticker per la nuova notifica. Questo è il motivo per cui ho deciso di rimuovere la notifica esistente (usando il codice sopra), crearne una nuova, e poi chiamo di nuovo startForeground()
e di passare la nuova notifica ad esso, quindi il mio servizio persiste.
Stai tentando di rimuovere una notifica che è stata avviata da un'altra applicazione? – matt5784
no, è la stessa applicazione – slinden77