Closed ladeng closed 7 years ago
请 @daweibayu 跟进一下。
关于自定义 receiver 请参看 https://leancloud.cn/docs/android_push_guide.html#自定义_Receiver 文档,发送的 action 要与 manifest 中定义的 action 是一致的才可以。上述内容明显可以看出 action 不一致。 另外当 silent 为 true 时,代表的是透传消息,也就是说 sdk 不会主动弹出通知栏,只是把消息发送给自定义的 receiver,然后由开发者自行决定如何处理,所以 silent 为 true 时 PushService.setDefaultPushCallback 的设置是无效的。 另外,这是是 ChatKit 的 repo,关于 LeanCloud sdk 的问题建议去论坛、工单发帖。
sorry,我发帖的时候修改了这句:android:name="com.myproject.action" ,实际上我广播里面监听的action和发送是一致的,因为我之前测试过这个功能,是可以触发Receiver的。所以可以排除发送和监听的Action不一致的问题,因为我看最新更新的chatkit代码有修改到一些通知相关代码,我不确定是chatkit还是leancloud sdk的问题,但sdk我们是直接引用未修改代码的: //avoscloud-sdk 为 LeanCloud基础包 compile ('cn.leancloud.android:avoscloud-sdk:v3.+') //avoscloud-push 为推送与实时聊天需要的包 compile ('cn.leancloud.android:avoscloud-push:v3.+@aar'){transitive = true} //小米推送 compile ('cn.leancloud.android:avoscloud-mixpush:v3.+@aar') //GCM推送 compile ('cn.leancloud.android:avoscloud-gcm:v3.+@aar') 因此我才推测可能是chatkit引起的
这里跟 ChatKit 应该并无关系。ChatKit 中也并没有使用自定义 receiver 相关的逻辑。
已经做了如下配置: `
在后台发送消息使用了: "slient":"true",类似 { "alert": "消息内容", "action": "imodel.UFM", "badge": "1", "title": "message title", "slient":"true" } 但是并不会进入广播方法 public void onReceive(Context context, Intent intent) 程序启动的application里面配置了: PushService.setDefaultPushCallback(this, PushSwitchActivity.class);
其实项目中的推送功能我在2017.01.15之前就测试过,这个代码收到推送是可以进入onReceive的,而且我绑定了通知点击事件,点击后也是会打开指定页面的,但现在失效了,我对比了1月份以来的chatkit修改内容,发现修改内容并不多也都更新到项目中了,不知道是否什么原因导致无法进入自定义广播了