我已将此FLAG用于我的服务:Notification.FLAG_FOREGROUND_SERVICE;但是当我调用notificationManager.cancel(IDN)时,图标总是可视地进入状态栏.....如果我在Notification.FLAG_AUTO_CANCEL上更改FLAG,当我调用notificationManager.cancel(IDN)时图标就消失了。如何使用FLAG_FOREGROUND_SERVICE然后取消图标?
答案 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)来删除它“。