融云 FCM 推送与打包形式无关

1.所有都配置实现之后, 开始测试. 第一次启动App, 杀死. 发送测试音讯. 收不到推送.
2.再次启动App, 杀死, 发送测试音讯. 这次能收到推送了.

第一次杀死App之后, 发送测试音讯, 能够看到log中会即时打出:

09-17 11:50:34.298 W/GCM ( 2025): broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE pkg=com.rongcloud.fcm_demo (has extras) }

GCM打出的log, result=CANCELLED. 播送的intent发送回调是: cancelled. 也就是这个播送还没发送到app层/sdk层, 就曾经被零碎拦挡到了. 失败了.

最开始认为是App对于GCM, 或者FCM的权限问题. 在manifest里脱漏了某个配置, 或者App的告诉权限没有关上. 然而做了一番查看以及配置之后, 这个问题还是存在.
之后求助于Google和StackOverflow, 发现有些人是遇到过相似问题的, 然而都没有一个很好的解决方案, 把网上的解决办法一一尝试之后, 这个固执的问题还是存在.

起初也是一个偶尔的发现, 如果我在IDE中间接点击“Run”把App装置运行到手机上, 会呈现这个问题, 然而我把我的项目打包成apk后, 再装置到手机上. 这个问题就隐没了, 第一次杀死App之后, 也是能够顺利收到音讯的. 这样才把这个问题给解决掉.