我的推送服务捕获了一条奇怪的推送消息:
Bundle[{CMD=RST_FULL, from=google.com/iid, android.support.content.wakelockid=1}]
昨天才开始发生,我真的无法确定是哪个代码更改造成的。有没有人以前看过这条消息,也许知道它来自哪里以及为什么?
最佳答案
您的应用收到此消息是因为它已从备份中恢复了数据。由于备份可能包含注册 token ,因此会发送此广播通知您的应用获取新 token ,因为备份的 token 将不起作用。
这适用于新的 GCM APIs ,这将导致您的 InstanceIdListenerService 实现的 onTokenRefresh() 方法被调用,您的应用应该再次获取其所有 token 。
很遗憾,如果您正在编写自己的 BroadcastReceiver,这些消息将出乎意料,并可能导致您的应用崩溃。正确的做法是过滤“发件人”字段,如果您看到其中一条消息,请再次向 GCM 注册,因为您的 token 可能无效。
如果您在恢复应用数据的全新安装情况之外收到这些消息,请发布到 android-gcm邮件列表。
关于android - 应用启动时收到奇怪的推送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30479424/