我一直在尝试了几个小时,除去使用永久通知由服务设置:NotificationManager.cancel()不为我工作
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
我在这里错过了什么?我很困惑。
为了说明为什么我这样做:服务以默认持久通知开始。当我的应用程序运行时,它需要将此通知替换为另一通知。然而,在现有的Notification上使用notify()
可以完美地工作,但我需要它为新的Notification显示Ticker文本。这就是为什么我决定删除现有的通知(使用上面的代码),创建一个新通知,然后再次拨打startForeground()
并将新的通知传递给它,以便我的服务持续存在。
您试图删除从其他应用程序启动的通知? – matt5784 2012-07-08 23:18:51
不,这是相同的应用程序 – slinden77 2012-07-08 23:45:34