2013-10-02 94 views
1

我正在開發一個Android應用程序,並且我使用GCM來發送推送通知。當用戶收到新消息時,我會向他的手機發送推送通知。無效的推送通知

問題是,當用戶從網頁上讀取消息時,他的手機上會留下一個無用的通知,直到他清除它爲止。是否有某種方法,也許是另一個推送通知,我可以用它來刪除這個無用的通知?

我在我的Gmail應用程序中遇到類似的情況。我收到通知,當我從計算機上讀取新郵件時,通知消失。

Gmail應用程序如何執行此操作?

+0

http://stackoverflow.com/questions/3595232/android-remove-notification-from-notification-bar – Tyler

+1

我認爲這是指本地通知。我在談論推送通知,我知道如何從欄中刪除通知,我無法弄清楚如何在應用程序未運行時執行此操作。無論如何,謝謝 – stomasso

+0

,它涉及尚未發送的推送通知。無論如何,我認爲答案適合我的問題 – stomasso

回答

0

編輯:我讀錯了首先。

是的,你必須發送另一個GCM消息告訴你的手機cancel the notification

+0

您確定我可以通過GCM消息調用此函數嗎?在我看來,這是一種我可以在應用程序運行時調用的方法。我想知道的是,如果有一種方法可以在應用程序關閉時清除推送通知,並通過另一個推送通知或類似的方式通知系統此通知現在沒有意義。我爲iOS開發了這樣的事情,我發送了一個empty-badge0推送通知,並且來自我的應用程序的所有通知都消失了,所以也許有相當於android的。我是所有人的眼睛。謝謝 – stomasso

+0

我很確定可以隨時調用'cancel()',在最壞的情況下不會做任何事情。您的通知位於通知欄中意味着您的應用程序仍處於活動狀態。我自己也是這樣做的,而且工作正常。在iOS上,您不會在收到通知時執行您的代碼,因此他們必須設法移除通知,在Android上您必須自己做。 – minipif

+0

在iOS上,您不會在收到通知時執行您的代碼。所以在Android中你呢?您是否可以在收到推送通知時執行代碼?即使你在應用程序關閉時收到它?怎麼樣? – stomasso