从状态栏中删除通知图标

时间:2011-04-07 12:28:40

标签: service icons notificationmanager

我已将此FLAG用于我的服务:Notification.FLAG_FOREGROUND_SERVICE;但是当我调用notificationManager.cancel(IDN)时,图标总是可视地进入状态栏.....如果我在Notification.FLAG_AUTO_CANCEL上更改FLAG,当我调用notificationManager.cancel(IDN)时图标就消失了。如何使用FLAG_FOREGROUND_SERVICE然后取消图标?

3 个答案:

答案 0 :(得分:0)

我不确定我是否收到了您的问题,但您可以使用以下方式取消应用中的所有通知:

final NotificationManager mNotificationManager = (NotificationManager) ctx.getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.cancelAll();

答案 1 :(得分:0)

我用过:

public final void startForeground (int id, Notification notification)

并且通知可以取消。

答案 2 :(得分:0)

请参阅this,了解前台服务

如果此通知表示当前正在运行的服务,则将位按位进入应该设置的标志字段。这通常由startForeground(int,Notification)为您设置。“

为了帮助其他可能会遇到这种情况的人,如果FLAG_FOREGORUND_SERVICE的文档更强烈地表明此标志的用户不能使用nm.cancel()并且需要使用startForeground / stopForeground对,那么这将非常有用。也许是这样的事情:

“按位进入flags字段以指示当前正在运行的服务的前台状态。您不应该直接使用此标志,但让startForeground()为您设置它,并使用stopForeground(true)来删除它“。