我遇到了一些奇怪的事情,我正在开发一个使用 Google GCM 向用户发送通知的应用程序。
一切正常,直到几天后,将我的设备重新启动为出厂设置。该设备配置正确,因为我每天都使用它并且所有服务都运行良好
现在我一直在继续开发但是将这些消息发送到设备失败。
在向 GCM Google API 发送消息时,这并不表示任何错误。有趣的是,应用程序没有任何变化,这在另一台设备上也能正常工作。受影响的设备是 Galaxy ACE (GT-5830i),另一台设备是 Galaxy SIII,即使使用模拟器 (Google API 2.3.3) 也能正常工作。
我不知道为什么设备会发生这种情况
GCM 日志猫
07-17 10:31:59.429: D/GCMRegistrar(21586): resetting backoff for co.com.rkmax.example
07-17 10:31:59.437: V/GCMRegistrar(21586): Registering app co.com.rkmax.example of senders 123456789012
07-17 10:32:01.203: V/GCMBroadcastReceiver(21586): onReceive: com.google.android.c2dm.intent.REGISTRATION
07-17 10:32:01.203: V/GCMRegistrar(21586): Setting the name of retry receiver class to co.com.rkmax.example.receivers.GoogleCMReceiver
07-17 10:32:01.203: V/GCMBroadcastReceiver(21586): GCM IntentService class: co.com.rkmax.example.services.ReceiverGCMService
07-17 10:32:01.210: V/GCMBaseIntentService(21586): Acquiring wakelock
07-17 10:32:01.218: V/GCMBaseIntentService(21586): Intent service name: GCMIntentService-123456789012-1
07-17 10:32:01.226: V/GCMRegistrar(21586): Registering receiver
07-17 10:32:01.226: D/GCMRegistrar(21586): resetting backoff for co.com.rkmax.example
07-17 10:32:01.234: V/GCMRegistrar(21586): Saving regId on app version 7
07-17 10:32:01.382: V/GCMBaseIntentService(21586): Releasing wakelock
更新
我使用了该方法GCMRegistrar.unregister
并重新注册,现在如果它有效!