问题描述
比如,我跟Demo聊天几句以后。退出登录。关闭程序。再打开,再登录。然后获取我和Demo的聊天记录。conversation.getAllMessages()。长度总是1,得到的总是聊天记录的最后一条。这是为什么?
解决方案
双方都是demo吗,看下本地数据库有多少条消息
解决方案二:
> forum.php?mod=redirect&goto=findpost&pid=3168&ptid=1423双方都是demo吗,看下本地数据库有多少条消息conversation = EMChatManager.getInstance().getConversation(username);conversation.getAllMessages() 这样是不是获取数据库中,跟某个人的全部聊天记录呢?如果是的话。在不退出情况下,没问题。一旦退出,关闭程序再打开再登录,获取就是1条。如果不是的话,应该是哪条语句呢
解决方案三:
> forum.php?mod=redirect&goto=findpost&pid=3181&ptid=1423conversation = EMChatManager.getInstance().getConversation(username);conversation.getAllMessages( ...是跟某个人的全部聊天记录,推出就一条了,本地还有吗
解决方案四:
> forum.php?mod=redirect&goto=findpost&pid=3187&ptid=1423是跟某个人的全部聊天记录,推出就一条了,本地还有吗什么是本地还有么?聊天记录不就是存储在本地数据库么?那条语句不是从数据库获取么?获取到的就1条。这算本地有还是没有啊。
解决方案五:
> forum.php?mod=redirect&goto=findpost&pid=3187&ptid=1423是跟某个人的全部聊天记录,推出就一条了,本地还有吗聊天聊了10句→退出登录→退出程序→打开程序→登录→EMChatManager.getInstance().loadAllConversations()→conversation = EMChatManager.getInstance().getConversation(username)→打印conversation.getMsgCount()→显示1条这样是不是清楚一点了
解决方案六:
> forum.php?mod=redirect&goto=findpost&pid=3191&ptid=1423聊天聊了10句→退出登录→退出程序→打开程序→登录→EMChatManager.getInstance().loadAllConversations ...我知道你的意思。。。我是说获取会话只有一条,这时候本地有多少条,去数据库看看
解决方案七:
// 设置从db初始化加载时, 每个conversation需要加载msg的个数 options.setNumberOfMessagesLoaded(1);一定是你这里设置成1了