首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何取消Notification.FLAG_FOREGROUND_SERVICE

如何取消Notification.FLAG_FOREGROUND_SERVICE
EN

Stack Overflow用户
提问于 2013-02-22 19:19:19
回答 2查看 1.5K关注 0票数 1

假设您希望显示一个带有前台服务标志的通知,并使用nm来显示它:

代码语言:javascript
运行
复制
Notification notification = new Notification(...);
notification.flags |= Notification.FLAG_FOREGROUND_SERVICE
nm.notify(SOME_ID, notification);

此时将显示通知。然而,删除它是困难的,因为这似乎不会做任何事情:

代码语言:javascript
运行
复制
nm.cancel(SOME_ID);

如何取消此通知?stopForeground不是一个解决方案,因为我不在服务中。

EN

回答 2

Stack Overflow用户

发布于 2013-02-23 06:05:58

有什么解决方案吗?

如果this issue是可信的,那么除了有一个调用stopForeground()的服务之外,不是。您可以通过startService()向您的服务发送命令,以便它可以调用stopForeground()。或者,您可以创建一个小型的专用Service,它只需从onStartCommand()调用stopForeground()stopSelf(),就可以摆脱这种通知。

票数 2
EN

Stack Overflow用户

发布于 2013-08-09 02:40:24

解决方案是在删除FLAG_FOREGROUND_SERVICE并仅使用0或FLAG_ONGOING_EVENT后,通知可以分别设置为可取消或不可取消。对我来说很有效,我找到的答案是helpfull Switching Android notification from FLAG_ONGOING_EVENT to cancelable

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15022990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档