Android:如何检查是否已发送待处理的通知?

时间:2010-08-08 23:42:27

标签: android

Notification的发件人是否有办法知道Notification何时被发送到接收方?即一些可以检查用户是否点击了给定Notification的方法。

我想要实现的目标是:让我的Service通过PendingIntent发送通知以启动ActivityA。但是如果用户在没有点击通知的情况下启动ActivityA,我希望该服务取消Notification并向ActivityA发送直接意图

1 个答案:

答案 0 :(得分:1)

你的流程对我来说没什么意义。如果用户打开ActivityA,您为什么要打开另一个ActivityA实例?我不确定“向ActivityA发送直接Intent还有什么意思”。我认为更常规的模式是ActivityA在所有情况下取消Notification,并在所有情况下向服务部门询问最新数据。

如果该模式不适合您,请让Notification使用服务PendingIntent。让您的服务注意到用户点击了Notification,然后让服务启动ActivityA。这为用户提供了相同的效果(点击通知,获取ActivityA),但您的服务会发现有关点按。

或者,在活动Intent中使用PendingIntent,该活动不同于ActivityA通常以Intent开头的活动。有活动A告诉服务,“哟,我给我一个Intent,哟”在所有情况下。如果服务引发Notification而ActivityA表示它以常规Intent开头,则告诉ActivityA执行某些操作。如果该服务引发了Notification,而ActivityA表示它是以Notification的{​​{1}}开头的,请执行其他操作。