首页 文章

在收到com.google.android.gms中的任何通知之前,安装后应用程序关闭时GCM通知无法显示:play-services-gcm:9.0.0

提问于
浏览
1

我正在测试google https://developers.google.com/cloud-messaging/android/start的gcm通知示例项目

该项目使用的是com.google.android.gms:play-services-gcm:9.0.0

我通过android studio将应用程序安装到手机后 . 我从手机上杀了应用程序(不是从设置强行杀死) . 然后,我尝试根据谷歌指令发送通知消息 .

通知无法在手机上显示 . 当我检查logcat时 . 我找到了关于GCM的以下日志 .

06-08 11:19:37.859 5080-5080/? W/GCM-DMM: broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE pkg=gcm.play.android.samples.com.gcmquickstart (has extras) }

之后,我在手机中启动应用程序并再次终止应用程序,然后再次将GCM发送到我的手机 . 那时,通知可以在我的手机中正确显示 . 看来,应用程序需要重新启动一次接收gcm通知或应用程序应该在用户终止应用程序之前收到通知 .

我该如何解决这个问题?据我所知,较低版本的play-services-gcm:9.0.0没有这种问题 .

4 回答

  • 1

    编辑:也许你健身房令牌没有时间注册服务器 . 您是否从服务器获得令牌和注册确认?

    如果您刚开始使用GCM,那么我建议使用FCM,它正在取代GCM . https://firebase.google.com/docs/cloud-messaging/

    同样的事情,但有支持和新的例子 . 它看起来比GCM更容易使用 .

  • 1

    当我使用apk文件安装应用程序时,不会发生此问题 . 这个问题只有在我通过在android studio中运行项目安装应用程序时才会发生 . 感谢所有的建议和答案 .

  • 0

    这是Android平台的一个功能 . 用户强制停止应用程序会将应用程序置于停止状态,并且不运行任何代码,包括清单中声明的任何广播接收器 . 只有当用户明确启动应用程序时,它才处于接收器被触发的状态 .

    Read this thread

  • 1

    我到目前为止最好的解决方法是拔掉手机,杀死应用程序,重新启动应用程序然后再次杀死它 . 即使在通过android studio安装后,这样做也会显示通知 . 这是关于这个问题的另一个主题:https://code.google.com/p/android/issues/detail?id=219084

相关问题