Android:在app uninstall上删除远程数据库中的记录

时间:2014-06-19 11:00:11

标签: android google-cloud-messaging

我为一般公众和客户编写了一份申请表(AirQApp)。当客户使用给定的用户名和密码登录时,它会将device registration ID存储在中央数据库中,以便为特定客户生成gcm通知,同样在他们注销时删除设备ID,但是当他们卸载此应用程序时,它不能从数据库中删除设备ID,因此仍然会生成通知。

我用Google搜索,似乎无法在应用程序卸载时执行任务。 是否有其他解决方案适用于我的场景? 有没有办法检查应用程序是否从设备注册ID安装在特定设备上?

提前致谢。

2 个答案:

答案 0 :(得分:2)

  
      
  1. 最终用户卸载该应用程序。
  2.   
  3. 第三方服务器向GCM服务器发送消息。
  4.   
  5. GCM服务器将消息发送到设备。
  6.   
  7. GCM客户端收到消息并查询Package Manager是否有广播接收器配置为接收它,   返回false。
  8.   
  9. GCM客户端通知GCM服务器已卸载该应用程序。
  10.   
  11. GCM服务器标记要删除的注册ID。
  12.   
  13. 第三方服务器向GCM发送消息。
  14.   
  15. GCM向第三方服务器返回NotRegistered错误消息。
  16.   
  17. 第三方删除注册ID。
  18.   

来自Here

答案 1 :(得分:1)

  

我用谷歌搜索它,似乎无法在应用程序卸载上执行任务

正确。

  

是否有其他解决方案适用于我的方案?

下次您尝试向该GCM注册ID发送邮件时,GCM should tell you that it is no longer registered