检查我的应用通知是否正在运行

5
有没有一种方法可以通过程序检查我的应用程序的通知是否正在运行(显示)?
也就是说,NotificationManager.notify()被调用了。

似乎不行。您必须使用其他方法来标记通知的状态。 - xandy
3个回答

3
有没有办法以编程方式检查我的应用程序通知是否正在运行(显示)?
没有。
也就是说,已经调用了NotificationManager.notify()。您调用了notify()。因此,您已经知道是否调用了notify()。您还知道如果您的代码调用cancel()或cancelAll()。通过各种PendingIntents和标志,您还将知道如果用户根据操作而使通知消失。因此,您自己拥有所有信息来确定通知是否在屏幕上。
然而,精明的开发人员会编写他们的应用程序,使其不关心他们的通知是否在屏幕上。

1
尽管这与我的问题无关,但我想说的是,您确实关心您的通知是否在屏幕上。如果有待处理的操作,不应清除并希望在手机重新启动时重新出现通知... - kkudi
2
@kkudi:“如果有一个待处理的操作,不应该被清除,并且希望在手机重新启动时重新显示通知”-- 不。你不想因为通知出现在屏幕上就在重启后重新显示“通知”。你可能希望在重启后重新显示“通知”,是因为通知所代表的工作尚未完成。你是在做这项工作,因此你可以知道,在重启时,工作尚未完成,因此重新显示“通知”是有意义的。 - CommonsWare
1
@IgorGanapolsky:当我写下我的答案时,那还不存在于2011年3月。话虽如此,仅为了知道您的“通知”是否正在显示而实现NotificationListenerService是愚蠢的,依我之见。 - CommonsWare
@CommonsWare 没有其他办法,这是我能想到的唯一方法。 - IgorGanapolsky
1
@IgorGanapolsky:您可以按照答案中的说明,并自行跟踪其状态。您知道何时创建它,何时摆脱它,以及用户何时摆脱它。这足以让您跟踪“通知”的状态。 - CommonsWare
显示剩余7条评论

3

2

这个的一个使用示例是什么? - IgorGanapolsky

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接