关于android:融云-FCM-推送与打包方式有关

6次阅读

共计 650 个字符,预计需要花费 2 分钟才能阅读完成。

融云 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 之后, 也是能够顺利收到音讯的. 这样才把这个问题给解决掉.

正文完
 0