为什么JMessageClient.getConversationList()不能获取到发送的会话


(jian) #1

给一个用户第一次发送消息,对方能收到(但对方未回复)
本地通过JMessageClient.getConversationList()不能获取到这个会话?


#2

SDK 版本多少?

你是哪一个本地获取会话列表?发消息的那方吗?

提供下你发消息和获取列表的客户端日志


(jian) #3

版本是:
‘cn.jiguang.sdk:jpush:3.1.6’
‘cn.jiguang.sdk:jmessage:2.8.1’
‘cn.jiguang.sdk:jcore:1.2.6’

[JMessageClient.getConversationList()是不是只能获取本地会话
请问有没有方法可以获取到服务器会话


(jian) #4

https://docs.jiguang.cn/jmessage/client/android_sdk/message/
我们官方文档上面说
从本地数据库中获取会话列表,默认按照会话的最后一条消息的时间,降序排列
JMessageClient.getConversationList();

那本地数据库在哪,是什么时候创建的?
我看官方DEMO中使用了activeandroid,但并没有保存会话到数据库的代码操作


#5

只能取到本地的会话,你是发消息的一方,在发完消息之后,取不到这个会话吗?

应该是在创建本地会话之后就能取到


(jian) #6

现在的问题就是我创建本地会话后,消息也发送过去了(对方可以收到)
但我本地再getConversationList,,得不到这条会话


(jian) #7

是不是集成IM,必须要用到数据库去缓存本地会话,我看DEMO中没有用数据库去保存会话数据


#8

会话是本地维护的,SDK本身会保存,你试一下用上面的 API 创建完会话后,直接获取会话列表看有没有

 Conversation.createSingleConversation(String username, String appkey)

以及你检查下是不是有地方调 API 删除了会话


(jian) #9

好的,我检查一下