Android 从系统托盘获取所有现有通知

Android 从系统托盘获取所有现有通知,android,notifications,push-notification,Android,Notifications,Push Notification,我是否可以从系统托盘中当前的应用程序中获取所有通知? 我注意到我们可以更新托盘中已有的通知,但我想知道是否可以检索所有通知。 谢谢简短的回答是“否”,通知管理器不提供查询托盘中当前通知的方法 如果您希望跟踪托盘中的通知,这是可能的,但需要做一点工作。您需要创建一种跟踪通知状态的方法,最简单的方法可能是数据库。您要做的是在创建通知时为通知插入一行,其中包含该通知的id。接下来,您需要构建一个活动或服务,该活动或服务将使用通知在其生命周期中的状态更新数据库。在向经理发布通知之前,您需要添加一个co

我是否可以从系统托盘中当前的应用程序中获取所有通知? 我注意到我们可以更新托盘中已有的通知,但我想知道是否可以检索所有通知。

谢谢

简短的回答是“否”,通知管理器不提供查询托盘中当前通知的方法

如果您希望跟踪托盘中的通知,这是可能的,但需要做一点工作。您需要创建一种跟踪通知状态的方法,最简单的方法可能是数据库。您要做的是在创建通知时为通知插入一行,其中包含该通知的id。接下来,您需要构建一个活动或服务,该活动或服务将使用通知在其生命周期中的状态更新数据库。在向经理发布通知之前,您需要添加一个contentIntent和一个deleteentent,通过您刚刚创建的活动或服务发送通知。当用户单击通知时,将调用contentIntent,如果用户取消通知,将调用deleteeintent。当发生上述任一情况时,请更新数据库以跟踪最新状态


如果您实现了这一点,您将有一种方法来跟踪您的通知,以及它们在托盘中的状态。不幸的是,没有简单、方便的方法来查询它们,特别是如果它们不是您创建的。

请尝试此NotificationListenerService: