我用pubnub实现了推送通知。我有以下问题,当我卸载应用程序后,我再次安装它,应用程序接收推送通知而无需注册到gcm。我想这是因为在卸载时没有调用gcm注册,而gcm服务器在第二次安装时仍然有设备注册ID。
答案 0 :(得分:1)
我认为不可能,请看一下here
但如果您的应用程序用户必须登录,您可以制定一些逻辑来避免这种意外行为。当您从服务器发送推送通知时,您应该发送一个参数来识别用户(例如userId)。然后,当应用程序收到通知时,您应该将收到的值与本地值进行比较(卸载时此本地值将丢失),如果它们不匹配,请停止显示通知的通知构建器。
如果没有在本地识别用户的任何内容,则可以在注册push时将SharedPreferences中的布尔值设置为true。如果此布尔值为false,则不显示通知。
答案 1 :(得分:0)
你可以创建一个全局变量 private int nStatus = 0并在SharedData中将其赋值为1,然后在启动应用程序时,您可以检查它是否具有值1或0如果它是1创建通知否则不要因为当您删除应用程序时删除SharedData也是
答案 2 :(得分:0)
在您的应用开始时,只需在第一点再次注册。因此,最后一个将被覆盖,并且gcm将不会提供推送到最后的gcm id。