获取不到conversations

问题描述

通过UIdemo注册了几个用户,相互聊天。到了自己的项目中,这些用户都可以登录,但conversations内容一直是0.为了找原因我把demo代码中的Application+EaseMob,LoginViewController,ChatListViewController等等直接copy到一个新建项目中,导入sdk及依赖库,运行结果还是用户都可以登录,但conversations内容一直是0.为什么只能在demo中获取到conversations,而新建的项目却不行??

解决方案

从SDK数据库中load数据 SDK提供了一系列的从数据库中获取数据的方法,IOS的接口以load开头,比如 , ,。 IOS SDK在2.1.1版本开始,使用了sqlite,废弃了旧版的数据库,所以开发者们在写从2.1.0版本升级功能时,需要调用接口【importDataToNewDatabase】,在该接口成功之后,再调用load相关方法进行获取数据。 IOS SDK从2.1.6版本开始,不再在内部进行load相关方法,开发者可以根据自己的需求,自主定制调用load接口。比如,登录成功之后,你只想获取群组,那你就可以只调用方法;如果你想获取所有数据,就要调用 ,so easy。
解决方案二:
楼上说的是下面这段代码吧EMError *error = [.chatManager importDataToNewDatabase]; if (!error) { error = [.chatManager loadDataFromDatabase]; }它在LoginViewController手动登录时,及AppDelegate+EaseMob自动登录时出现,这两处我都没有遗漏,为什么还是加载不到会话数据
解决方案三:
在客户端 conversation是从本地取的,你本地没有的话,当然是取不到的。

时间: 2024-10-03 15:37:55

获取不到conversations的相关文章

iOS [[EaseMob sharedInstance].chatManager conversations] 一直获取不到

问题描述 ios中[[EaseMob sharedInstance].chatManager conversations]一直获取0个数量 按照demo上的做了,群组创建成功了,回到群组列表的界面获取conversations的数量一直是0 不知道为什么, 解决方案 你登陆之后去load数据了吗?/*! @method @brief  调用sdk登录接口,登陆成功之后,sdk内部会默认调用一次该函数         从数据库获取信息,包括自己相关的群组,被屏蔽的群组的id数组,会话,消息 @di

conversations获取问题

问题描述 我在一个自己的小Demo中做出来了   获取到了7个对象,然后把代码放到项目中,就获取不到了.代码是copy过来的,检查了好几遍 应该没有遗漏.  这是为什么啊 解决方案 登陆成功后的数据处理:             //获取数据库中数据             [[EaseMob sharedInstance].chatManager loadDataFromDatabase];解决方案二:!解决方案三:并且会话记录是保存在app沙盒中的,换了手机或者app就没有了.解决方案四:o

contentprovider-从“canonical_addresses”表中获取地址

问题描述 从"canonical_addresses"表中获取地址 在android程序中,我从下面的 uri 中获取 recipient_id . content://mms-sms/conversations?simple=true 现在我想使用 recipient id 从"canonical_addresses"表中获取地址.但是如何查询"canonical_addresses"表呢? 解决方案 Canonical 表中有两列,_id 和

android消息导入数据库下一次登录获取不到的问题

问题描述 你好,http://community.easemob.com/q ... _9642这个问题可以帮帮我吗?我用了importMessage,conversations.addMessage,saveMessage这三种方式 ,当前都可以在会话中获取到,但退出后重新登录就无法获取到存入的数据,求帮忙.谢谢 解决方案 只有importMessage和save会保存在本地,add 只是添加到会话对象中,解决方案二:你好,谢谢你的回答.我现在的问题是,使用了importMessage和sav

Android获取所有聊天记录问题

问题描述 Hashtable<String, EMConversation> conversations = EMChatManager                .getInstance().getAllConversations();调用上面的方法获取所有会话,包括陌生人但是有些时候会获取不全,这是怎么回事呢?> 解决方案 只能获取本地的会话记录.

获取好友通知时,判断未读数user.getUnreadMsgCount()一直为null

问题描述 解决方案 你是使用EaseUI开发,还是自己通过老的demo自己集成sdk开发的?解决方案二:获取未读数直接使用我们demo的接口就可以得,如下:Hashtable<String, EMConversation> conversations = EMChatManager.getInstance().getAllConversations():conversation.getUnreadMsgCount():解决方案三:public int getUnreadMsgCountTota

iOS 我现在只是要收到消息提醒 然后获取未读消息数就行 用哪些方法呢?

问题描述 iOS  我现在只是要收到消息提醒 然后获取未读消息数就行  用哪些方法呢?主要是demo里的感觉不太好整明白 谢谢了 解决方案 1.收到消息提醒,去调用接口就行了,参考下:#import "EMCDDeviceManager.h"#import <AudioToolbox/AudioToolbox.h>@interface EMCDDeviceManager (Remind)// 播放接收到新消息时的声音- (SystemSoundID)playNewMessa

环信3.x中 如何获取数据库中数据

问题描述 如何打开数据库 展示之前的聊天记录 解决方案 消息都是存在会话中的, 调用/*! *  ~chinese *  从数据库中获取所有的会话,执行后会更新内存中的会话列表 *   *  同步方法,会阻塞当前线程 * *  @result 会话列表<EMConversation> * *  ~english *  Load all conversations from DB, will update conversation list in memory after this method

已经标记conversation的所有消息为已读,但再次获取conversation时未读消息不为0

问题描述 1. 在聊天界面根据对方的环信id使用EaseMob.sharedInstance().chatManager.conversationForChatter!得到当前聊天的conversation,在viewDidDisappear时调用conversation.markAllMessagesAsRead标记这个conversation的所有消息为已读,此时的unreadMessageCount显示为0,在这之后保证没有新消息到来2. 但是在消息列表界面通过loadAllConvers