微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android-如何知道是否清除了应用程序数据或卸载了应用程序?

我正在开发基于Login-logout机制以及REST API集成的应用程序.

为了发出REST API请求,需要令牌.应用程序正在将此令牌和其他用户详细信息保存到SharedPreferences中.

用户登录的应用程序保存所有必需的数据,并且在注销时,所有数据都从SharedPreferences中删除,并且TOKEN条目从应用程序服务器中删除

应用程序还向GCM服务器注册,以便向用户发送推送通知.对于该应用程序,将设备注册ID发送到应用程序服务器.

但是,如果用户清除应用程序数据或卸载,则应用程序将打开登录屏幕并再次向应用程序服务器和GCM服务器注册,因此旧条目保留在应用程序服务器中,新条目将添加到服务器中.

因此,如果服务器向应用程序发送推送通知,则设备中会收到两个推送通知.

有什么方法可以通过程序检测是否清除了应用程序数据或卸载了应用程序?

任何帮助将不胜感激.

解决方法:

最后,我想出了以下解决方案.

我已经实现了带有实例ID API的GCM 3.0,以便使用Application和GCM服务器(而不是旧的GoogleCloudMessaging.register(SENDER_ID))向应用程序发送推送通知

因此,当应用程序服务器尝试向设备发送推送通知时,服务器将对旧设备ID收到“错误”:“未注册”响应,因此基于该服务器将删除无用的条目.

在GCM 2.0中,即使安装了应用程序,有时服务器也会收到“错误”:“未注册”响应,但在GCM 3.0中,它可以正常工作.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐