1

我有一個具有通知生成器的應用程序。我能夠接收並生成多個通知。我現在的問題是如何知道用戶點擊了哪個通知?每個通知的行爲可能會有所不同,在我的應用程序中最多可同時發送5個通知。我在網上搜索,發現一無所知onClick事件與通知....android-如何觸發通知onclick事件?或者如何僅在用戶點擊時才獲取數據

我發現onNewIntent可以幫助,但它不是穩定的...因爲活動可能被系統用戶點擊通知前被殺。 有人可以幫忙嗎?

謝謝!

+0

http://stackoverflow.com/questions/10634837/how-to-listen-onclick-event-for-notififation-bar-on-android –

+0

我看到那個線程也。該解決方案無效,實際上,下面的答案表示沒有onclick事件。這也是我發現的。尋找工作或新的'notification.build'會做這項工作嗎? – user1865027

+0

您可以附加數據和活動來轉到意圖並將此意圖設置爲通知。這是足夠的信息來知道哪一個被點擊。 – AlexBcn

回答

1

我建議你將數據添加到您添加到通知的意圖的意圖。

例如。

intent.putExtra( 「Notification_id」,ID)//你可以讓這個ID系統時間或一些獨特的標識符。

當你去打開,您可以檢查該ID的意圖(或者你可以添加到您的額外的捆綁,而不是僅僅把多餘的。)

然後。

ID = intent.getExtra( 「Notification_id」)

希望這有助於。如果您有任何問題或需要更多詳細信息,請告知我們。

UPDATE:你必須在意向添加數據,後來都在你的onNewIntent()和的onResume()讀取它。在你做了任何你需要做的事情之後,你從意圖中刪除額外的東西。還要添加一些獨特的數據,如System.currentTimeMillis(),那麼它將阻止意圖被重用。

+0

可以請你描述這個問題嗎? 其實我不明白你在這裏說什麼? – Maddy

+0

爲了清晰起見,我編輯了我的評論。你幾乎把意圖放在了一邊,然後在應用程序中閱讀。 – RCB

相關問題