Service 从状态栏中删除通知图标

Service 从状态栏中删除通知图标,service,icons,notificationmanager,Service,Icons,Notificationmanager,我已将此标志用于我的服务:Notification.FLAG\u前台\u服务;但是,当我调用notificationManager.cancelIDN时,图标始终显示在状态栏中…..如果我在通知时更改了FLAG.FLAG\u AUTO\u CANCEL,当我调用notificationManager.cancelIDN时,图标将消失。如何使用FLAG_FOREGROUND_服务,然后取消图标?我不确定是否收到了您的问题,但您可以使用以下方法取消应用程序中的所有通知: final Notifica

我已将此标志用于我的服务:Notification.FLAG\u前台\u服务;但是,当我调用notificationManager.cancelIDN时,图标始终显示在状态栏中…..如果我在通知时更改了FLAG.FLAG\u AUTO\u CANCEL,当我调用notificationManager.cancelIDN时,图标将消失。如何使用FLAG_FOREGROUND_服务,然后取消图标?

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

final NotificationManager mNotificationManager = (NotificationManager) ctx.getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.cancelAll();
我用过:

公共最终无效startForeground int id,通知

并且通知可能会被取消。

有关前台服务,请参阅

如果此通知表示当前正在运行的服务,则应设置的标志字段中要按位或的位。这通常由startForegroundint、Notification为您设置

为了帮助其他可能遇到此问题的人,如果FLAG_FOREGORUND_服务的文档更强烈地指出此标志的用户不能使用nm.cancel,并且需要使用StartForegorge/stopForeground对,这将非常有帮助。也许是这样的:

位按位或入标志字段,以指示当前运行服务的前台状态。您不应该直接使用此标志,而是让startForeground为您设置它,并使用stopForegroundtrue将其删除