Я пытался удалить постоянное уведомление, установленное службой, используя:
startForeground(1337, notification);
Код, который я использую для отмены:
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
Чтобы пояснить, почему я это делаю :, Служба запускается с постоянным уведомлением по умолчанию. Когда мое приложение запускается, оно должно заменить это уведомление другим. Использование notify()
в существующем уведомлении работает отлично, однако мне нужно, чтобы он также отображал текст тикера для нового уведомления. Вот почему я решил удалить существующее уведомление (, используя приведенный выше код ), создать новое, а затем снова вызвать startForeground()
и передать ему новое уведомление, поэтому моя служба сохраняется.