在卸载应用时从C2DM取消注册

时间:2011-11-08 15:32:20

标签: android android-c2dm

  

可能重复:
  Is it possible to detect Android app uninstall?

我正在应用中实施c2dm服务,以便能够向所有用户发送消息。在谷歌的c2dm文档中,很好地解释了如何将应用程序注册到服务,以及如何取消注册它。 但是当我在卸载应用程序时无法获取任何事件时,我应该如何从c2dm取消注册?

2 个答案:

答案 0 :(得分:1)

文档说:

  

根据应用程序的实现,它可以为用户提供取消注册以接收消息的选项。 卸载应用程序也具有取消注册的效果。

我想这意味着设备会处理这个问题,你不必担心它。

编辑: 我错了。该设备没有照顾这个.. 请参阅:Android C2DM : Duplicate message to the same device and App

似乎解决方案是在推送消息中包含(部分)您的注册ID,并对您的设备进行检查

答案 1 :(得分:0)

Google C2DM服务在检测已卸载的应用程序时处于被动模式。

卸载应用程序后的第一次推送通知(无需从C2DM取消注册!!!)将不会返回任何错误响应。但是,第二个推送通知将返回“无效注册”或“未注册”错误代码,您可以在其中意识到已卸载该应用程序。

原因是C2DM服务器立即返回响应代码,然后才尝试推送客户端。当客户端响应卸载了某个应用程序时,它将从C2DM服务器中删除。下次尝试将立即返回错误代码。

相关问题