Notification
的发件人是否有办法知道Notification
何时被发送到接收方?即一些可以检查用户是否点击了给定Notification
的方法。
我想要实现的目标是:让我的Service
通过PendingIntent
发送通知以启动ActivityA。但是如果用户在没有点击通知的情况下启动ActivityA,我希望该服务取消Notification
并向ActivityA发送直接意图
答案 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}}开头的,请执行其他操作。