我希望能够按需从我的Android应用程序中获取活动通知。(实际上我只需要知道是否有)我一直在搜索这个行为,似乎我只有两个选择:NotificationManager.getActiveNotifications(),这正是我需要的,但只能从SDK23或使用NotificationService获得,但我真的不喜欢这个解决方案,因为我必须向我的应用程序提供读取所有通知的权限,这绝对是一种夸张的做法。
有没有人知道有什么解决方案可以像NotificationManager.getActiveNotifications()一样运行,而不需要SDK >= 23?
提前感谢!
发布于 2021-02-26 21:57:02
您知道您引发了哪些通知,因为您的代码引发了它们。
从理论上讲,您可以通过使用setDeleteIntent()注册一个PendingIntent来了解用户何时清除该通知,从而知道哪些通知被删除了。我已经有很长一段时间没有使用它了,所以它可能不像以前那样工作得很好。
但是,如果您知道您提出了哪些通知,并且知道哪些通知已被清除,那么知道哪些通知仍未完成是一个记账问题。
老实说,“活动通知是什么?”感觉像是代码的味道。问这个问题可能有很好的理由。如果我们是队友,这是代码审查的一部分,我会问为什么我们会关心任何给定的通知是否有效。
在这一点上,API Level 23 (Android 6.0)已经有六年的历史了。你真的应该重新考虑是否应该支持比这更老的Android版本,考虑到Android 5.x和更老的设备上仍然存在的所有安全问题。
发布于 2016-08-05 16:45:29
在我的项目中,我使用了一个静态数组来保存所有挂起的通知。当应用程序进入前台时,该数组将被清除。谢谢。
https://stackoverflow.com/questions/34979522
复制相似问题