0

我們有一個GCM通知正常工作的應用程序,我們設置了一個PendingIntent,因此我們想要的活動在點擊通知時打開。但是,每次點擊一個通知(並且存在不同類型的通知)時,我們需要發送一個事件給Google Analytics。我們怎麼能做到這一點?我不想解析活動中的意圖,因爲我認爲這不是一個好的解決方案(我們使用的是TaskStackBuilder,因此並不總是針對相同的通知開放相同的活動),有沒有我們可以使用的接收器檢測通知何時被點擊/打開?當通知被點擊發送分析事件時檢測到

在此先感謝

回答

0

把一些flag變量您的通知的意圖。

intent.putExtra("notification","clicked"); 

現在檢查它在你的Activity,包是否有 「通知」 鍵或不

if(getIntent().hasExtra("notification")) 
    //write your code for analytics 
+1

嗨,這是我們試圖避免的,是否有另一種選擇(如聽者或接收者)? – FVod

0

嘗試使用NotificationListenerService。它允許應用程序接收有關通知的信息。您需要使用BIND_NOTIFICATION_LISTENER_SERVICE權限在清單文件中聲明服務,並使用SERVICE_INTERFACE操作包含一個意向過濾器來擴展此類。看到這個example

我還發現這個stackoverflow question關於如何使用TaskStackBuilder實現NotificationListenerService。這可能有幫助。

+0

非常感謝您使用NotificationListenerService的問題是,這是在API 18上引入的,但我們支持API 16。 – FVod

相關問題