Android接收不到消息(普通消息,透传消息、离线消息)?

普通消息收不到

    发送消息的EMCallBack的onSuccess方法被回调成功。我用后台查询所有聊天记录也能查到我客户端发送的消息,但是客户端却无法接收到发送的消息。------看下有注册接收消息的监听吗,你在onResume方法中加上注册接收消息的监听,EMChatManager.getInstance().registerEventListener(this,
                new EMNotifierEvent.Event { EMNotifierEvent.Event.EventNewMessage ,
                EMNotifierEvent.Event.EventOfflineMessage,
                EMNotifierEvent.Event.EventConversationListChanged});
如果我用环信后台发送测试消息,客户端却能正常接收-------看下发送消息是否单聊消息,将这句注释掉
//如果是群聊,设置chattype,默认是单聊 message.setChatType(ChatType.GroupChat);
发送消息有扩展消息的话,发送成功,接收不到的话,看下你发送的类型和接收类型对吗。发送的是整型的话,接收就是有整型接收,接收类型要一致。

透传消息收不到

    接收不到透传消息,首先看下消息是否发送成功,消息发送成功的话,接收不到透传消息,检查看下在注册完接收消息的监听后又加上这句吗
注:最后要通知sdk,UI 已经初始化完毕,注册了相应的receiver和listener, 可以接受broadcast了 EMChat.getInstance().setAppInited(); 离线透传消息也是走的普通透传消息的监听。

离线消息接收不到

    看下有注册离线消息监听吗EventOfflineMessage,退出程序的话或者进程不在的话,消息就接收不到了,android的离线消息保存在服务端,用户上线之后接收到。

    对于离线消息,CMD和普通的消息处理方式不太一样,CMD会被一条一条推送过来,而普通消息会在3秒左右推送一次,event data 是离线消息数组

    使用广播接收消息的话,在注册完广播监听之后,一定要加上这句 EMChat.getInstance().setAppInited();切换页面接收不到的话,看下设置的广播优先级,使用广播接收消息的话,普通消息和离线消息走的是同一个广播NewMessageBroadcastReceiver()。

3 个评论

妹子棒棒哒!
妹子,赞一个
这个文档不是最新版本吧。

要回复文章请先登录注册

知识价值的认可,源自您的赞赏

扫描二维码,你的支付将由imGeek代收后转给对方

×