我是否可以从我的应用中获取当前位于系统托盘中的所有通知? 我注意到我们可以更新托盘中已有的现有通知,但我想知道是否可以检索所有这些通知。 http://developer.android.com/guide/topics/ui/notifiers/notifications.html#Updating
由于
答案 0 :(得分:0)
简短回答是“否”,通知管理器不提供查询当前托盘中的通知的方法。
如果您想在托盘中跟踪您的通知,则可以,但需要一些工作。您需要创建一种跟踪通知状态的方法,最简单的方法可能是数据库。您所做的是在创建通知时为通知插入一行,并附上该通知的ID。接下来,您需要构建一个 Activity 或 Service ,它将使用您的生命周期中的通知状态更新您的数据库。在向管理员发布通知之前,您需要在活动或服务中添加 contentIntent 和 deleteIntent 你刚刚创建了。当用户点击通知时,将调用 contentIntent ,如果用户将其解除,则会调用 deleteIntent 。当其中任何一个发生时,更新您的数据库以跟踪最新状态!
如果您实施该功能,您将有办法跟踪您的通知及其在托盘中的状态。不幸的是,没有简单易用的方法来查询它们,特别是如果它们不属于你的创作。
答案 1 :(得分:0)
尝试以下NotificationListenerService:
https://developer.android.com/reference/android/service/notification/NotificationListenerService