2013-10-02 78 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