安卓GCM“error”:“NotRegistered”

6
我正在使用Android GCM Push服务,它工作得很好一段时间,但是如果我让我的应用程序闲置一段时间,或者在代码中进行了一些修改后重新运行它,我将不会收到任何消息,而GCM服务器会给出此错误:“NotRegistered���。我进行了一些研究,发现这个问题,但我还不能在那里发表评论(声望太低:(而且这篇文章已经过时了)。
通过浏览它,我了解到有时Google服务器可以自动刷新注册ID,因此我需要知道GCM服务器何时进行这些注册ID的修改以及如何更新我的数据库中保存的regID。
我是新手,希望我的问题很清楚 感谢您的帮助

在开始收到服务器的"NotRegistered"错误之前,您应该检查您的logcat,看看是否收到了一个带有未注册值的com.google.android.c2dm.intent.REGISTRATION意图。这意味着GCM出于某种原因注销了设备。 - Eran
1个回答

1
如果您更改了一些代码,并在设备上重新安装应用程序,则最后一个令牌可能会改变。Google可能会在以下情况下更新令牌:
  • 应用程序更新
  • 重新安装
  • 清除应用程序数据
然后,您应该自己处理onTokenRefresh来保存令牌并在服务器数据库中进行更新。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接