我们有一个应用程序,GCM通知正常,我们设置了PendingIntent
,以便在点击通知时打开我们想要的活动。但是,每次单击一个通知(并且有不同类型的通知)时,我们需要向Google Analytics
发送一个事件。我们怎么能实现这个目标?我不想解析活动中的意图,因为我认为这不是一个好的解决方案(我们正在使用TaskStackBuilder
因此并不总是对相同的通知打开相同的活动),是否有接收器,我们可以用来检测点击/打开通知的时间?
提前致谢
答案 0 :(得分:0)
在通知意图上加上一些flag
变量。
intent.putExtra("notification","clicked");
现在在Activity
中检查一下,Bundle是否有"通知"是否关键
if(getIntent().hasExtra("notification"))
//write your code for analytics
答案 1 :(得分:0)
尝试使用NotificationListenerService。它允许应用程序接收有关通知的信息。您需要使用BIND_NOTIFICATION_LISTENER_SERVICE
权限在清单文件中声明服务,并包含一个带有SERVICE_INTERFACE
操作的intent过滤器来扩展此类。请参阅此example。
我还发现了stackoverflow question如何使用TaskStackBuilder
实现NotificationListenerService。这可能有所帮助。