注册

Android 环信3.0x 打开DemoHelper中的 registerEventListener()方法,聊天页面的EMMessageListener就接受不到消息

集成环信3.0之后,如果把DemoHelper中的registerEventListener()方法打开,在项目里面任何页面EMMessageListener都接收不到消息通知,经过Debug之后发现所有的消息都被DemoHelper中的registerEventListener()方法中的EMMessageListener监听给截取到了,刷新当前页面之后才能显示接受到消息,求大神指导!!!

easeUI.activityList.size()>0的时候  也走的是 DemoHelper中的 消息监听方法 请问是为什么?在线急等。。。


环信1.png




环信2.png




环信3.png




环信4.png

已邀请:
demo里DemoHelper注册的消息监听是为了程序在后台的时候监听消息去发送通知栏提示的,判断在前台就不去处理的。收到消息,是会进全局的消息监听的,在里面判断在前台就不去处理。在activity里注册的消息监听在onresume里去注册,在onstop里去注销
看判断条件,你注册listener调用的sdk的方法,跟easeui没有关系,要在onresume时onstop时调用push、pop activity方法

清明捉鬼 - 不要打我,我很怂!

demo里DemoHelper注册的消息监听是为了程序在后台的时候监听消息去发送通知栏提示的,判断在前台就不去处理的。收到消息,是会进全局的消息监听的,在里面判断在前台就不去处理。在activity里注册的消息监听在onresume里去注册,在onstop里去注销(这段话复制楼上老铁的)你在EMMessageListener这里监听无效是因为MainActivity在
onResume里也注册了一个一模一样的监听,且在onStop()方法里销毁。一般情况下

QQ截图20170601150241.png


都是这种界面,你可以发现当你stop()方法执行的时候,回来到会话列表界面的时候onResume方法又运行了,(ps:这里面可是Fragment属于一个Activity不要以为你已经切换会话列表就会stop(),错也,只有你点进跳转到其他页面才会运行,但是回来时又会聚焦,综上所述,这种页面设计方式在在别的地方注册消息监听纯粹是玩)
不信你试试。

要回复问题请先登录注册