【问题标题】:SERVICE_NOT_AVAILABLE some devices on Android GCMSERVICE_NOT_AVAILABLE Android GCM 上的一些设备
【发布时间】:2013-08-20 00:26:09
【问题描述】:

我使用 GCM 制作了一个用于通知的应用。我使用了本教程,我的代码几乎相同

http://developer.android.com/google/gcm/client.html

我正在物理设备上进行测试,当我尝试向 GCM 注册设备时,我遇到了 SERVICE_NOT_AVAILABLE 错误。

我有一个指数退避设置,所以它会随着时间的推移重试。

它可以在我大约一半的测试设备上运行,其他设备会出现 SERVICE_NOT_AVAILABLE 错误。找遍了,还没找到解决办法。

任何帮助将不胜感激。谢谢!

【问题讨论】:

    标签: android android-c2dm google-cloud-messaging


    【解决方案1】:

    如果您根本没有网络连接,您也会收到此错误。

    【讨论】:

      【解决方案2】:

      SERVICE_NOT_AVAILABLE 可能意味着您的设备无法读取响应或来自服务器的 500/503。你已经有一个指数回退,所以我想服务器端不应该是一个问题。查看清单中的 GCMBroadcastReceiver 是否有"com.google.android.c2dm.intent.REGISTRATION",并且您正在处理它。如果您还没有,请查看:GCM SERVICE_NOT_AVAILABLE on Android 2.2 以获得详细的解决方案。评论是否有效。

      【讨论】:

      • 是的!那确实奏效了。很奇怪。 Android 文档没有提及这方面的任何内容。这只是一个错误吗?或者以这种方式获取注册ID是常见的做法。我还应该实现两种获取注册 ID 的方法吗?或者这个广播节目是否适用于所有内容。谢谢!
      • 我的观点是android文档提到here以下内容:Note that Google may periodically refresh the registration ID, so you should design your Android application with the understanding that the com.google.android.c2dm.intent.REGISTRATION intent may be called multiple times. Your Android application needs to be able to respond accordingly.。因此,要处理续订,您可能仍需要这样做。另请参阅this 问题。
      • 我明白了。感谢您的快速帮助!
      猜你喜欢
      • 2013-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多