在开发一个与GCM集成的小项目时,我遇到了一个有点奇怪的问题。有时候当我开始查看日志以查看是否接收到消息时,消息似乎没有传输过来,直到我改变了网络状态(也就是说,最初在WiFi上,如果我关闭WiFi并移动到移动数据,消息会到达正常)。一旦我改变了网络状态,消息就开始正常到达,而一旦我将网络状态改回之前的状态(此处为WiFi),消息就继续被接收。
该项目本身包括从启动时便启动(在启动时启动GCMBaseIntentService),这也能够正常工作,我确信该应用程序/服务正在运行,因为当出现此问题时,我已经手动启动了应用程序(它还检查服务是否正在运行,如果没有,则运行并检查其是否已注册)。
是否有其他人遇到过这个问题或者有任何指针可以解决这个问题?在消息未被接收和接收到消息之间(更改网络状态后),我在日志中看不到什么有用的信息。我已经阅读了GCM文档,并没有看到任何关于由于超时(在设备本身上)导致消息未被接收或任何可能影响此问题的配置选项。
非常感谢您的帮助 - 如果需要,我可以提供源代码,尽管它几乎没有偏离android-sdk提供的演示应用程序。
该项目本身包括从启动时便启动(在启动时启动GCMBaseIntentService),这也能够正常工作,我确信该应用程序/服务正在运行,因为当出现此问题时,我已经手动启动了应用程序(它还检查服务是否正在运行,如果没有,则运行并检查其是否已注册)。
是否有其他人遇到过这个问题或者有任何指针可以解决这个问题?在消息未被接收和接收到消息之间(更改网络状态后),我在日志中看不到什么有用的信息。我已经阅读了GCM文档,并没有看到任何关于由于超时(在设备本身上)导致消息未被接收或任何可能影响此问题的配置选项。
非常感谢您的帮助 - 如果需要,我可以提供源代码,尽管它几乎没有偏离android-sdk提供的演示应用程序。