请问是如何判定其消息为未读?难道不是断网了或者被后台强行杀死的时候,也就是后台服务连接不上云端的时候,这时候接收到消息才判断为离线消息吗?
为什么我已经有 handler 接收了消息了,每次一打开应用,都会在 onOfflineMessagesUnread 方法收到离线消息?

辛苦各位 leancloud 的大神了,过年快乐。

是的,我是开启了。因为我需要得到未读消息的数量,但是有时我消息明明用 handler 接收了,它还要回调

onOfflineMessagesUnread()

吗?

请问你的 handler 是指哪个?只是进 AVIMConversationEventHandler 的 onOfflineMessagesUnread() 是正确的。但如果与此同时,还进入 AVIMTypedMessageHandler 的 onMessage() 的话,那就不对了。

进入 AVIMTypedMessageHandler 的 onMessage 的同时,在我下次打开应用的时候,(AVIMConversationEventHandler 的初始化我是放在 Application 中的) 又会在 onOfflineMessagesUnread() 接收到,相当于接收了两次。onOfflineMessagesUnread() 我设置为接收消息数量。

顺便再问一下,会话成员主动退出,其他人没收到 onMemberLeft 的回调,可能是什么原因造成的?
谢谢您了。。

与它并行的 onMemberJoined() 回调,在成员主动加入时,也不会执行吗?

先确认是否触发了 AVIMConversationEventHandler。

成员主动加入时没试过,因为我是创建会话的时候直接指定了成员。成员在退出的时候没有触发
onMemberLeft