工作人员,您好:
我在使用 LeanCloud 的 Android IM SDK 的时候,按照以下流程:
1. 调用创建会话接口,创建 A 、B 的会话(isTransient = false;isUnique = true),然后 A、B 正常可以正常会话。
2. A 通过调用 conversation.quit() 方法,退出会话。
3. A 无法再找到这个会话,B 也无法向 A 发送消息。
4. 以上,一切正常。
5. 然后,我再在 B 上,调用 createConversation 的方法,重新创建 A、B 两者的会话,会话能创建,但是 A 再调用 queryMessages,则会报错:“com.avos.avoscloud.im.v2.AVIMException: com.avos.avoscloud.im.v2.AVIMException: com.avos.avoscloud.im.v2.AVIMException: com.avos.avoscloud.im.v2.AVIMException: CONVERSATION_LOG_REJECTED”
6. 同时,两者之间调用 sendMessage 发送消息,也会获得以下的错误信息:com.avos.avoscloud.im.v2.AVIMException: com.avos.avoscloud.im.v2.AVIMException: com.avos.avoscloud.im.v2.AVIMException: INVALID_MESSAGING_TARGET
7. 我查看了后台的 _Conversation 表中的数据,对于会话“59b3a780f9d06fd6c92a46d0”中的 “m” 字段,存在我们用户系统中的两个用户(119、120)。
目前我们的需求,是用户可以通过手动删除会话,将自己从会话中移除,不再在会话列表中,我想应该是通过 conversation.quite() 来实现。然后,后续,用户可以继续创建会话,再次回到会话中。但是目前来看,后台的存储 _Conversation 表中存在 member 但是,这个用户似乎没有这个会话的发送消息的权限,以及读取消息的权限。我不知道,是不是我对 SDK 的理解出现了偏差。或者,我要实现我们目前的需求,我应该如何处理。