我已将此 FLAG 用于我的服务:Notification.FLAG_FOREGROUND_SERVICE;但是当我调用 notificationManager.cancel(IDN) 时,图标总是在状态栏中可见.....如果我在调用 notificationManager.cancel(IDN) 时更改 Notification.FLAG_AUTO_CANCEL 上的 FLAG,图标就消失了。如何使用 FLAG_FOREGROUND_SERVICE 然后取消图标?
问问题
891 次
3 回答
0
我用了:
public final void startForeground (int id, Notification notification)
并且可以取消通知。
于 2011-10-04T06:51:50.837 回答
0
请参考这个,前台服务
如果此通知表示当前正在运行的服务,则按位或位到应该设置的标志字段中。这通常由 startForeground(int, Notification) 为您设置。”
为了帮助可能遇到此问题的其他人,如果 FLAG_FOREGORUND_SERVICE 的文档更强烈地表明该标志的用户不能使用 nm.cancel() 并且需要使用 startForeground/stopForeground 对,那将真的很有帮助。也许是这样的:
“位被按位或位到标志字段中以指示当前正在运行的服务的前台状态。您不应直接使用此标志,而让 startForeground() 为您设置它,并使用 stopForeground(true) 将其删除。”
于 2013-03-28T09:35:04.367 回答
0
我不确定我是否收到了您的问题,但您可以使用以下方法取消您应用中的所有通知:
final NotificationManager mNotificationManager = (NotificationManager) ctx.getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.cancelAll();
于 2011-04-07T18:21:44.320 回答