关于环信出现App重启后本地发送的消息记录丢失的解决办法

说一下我的场景:

调用环信接口发送消息时,环信本地数据库会存储下来,我这里存储的逻辑是用对方的用户名 + 消息内容存到本地数据库,数据库的字段都是小写,如果此时对方用户名中包含大写字母,就会导致重启后取不到发送的消息记录,因为存的时候会自动把大写字母转换成小写。

 

解决办法:调用发送消息方法时,这里的toChatUsername 不要带大写字母就可以了

EMMessage message = EMMessage.createTxtSendMessage(content, toChatUsername);
EMClient.getInstance().chatManager().sendMessage(message);

 

另外,不要忘记 重启后,或重新登录 把数据库数据 读取到缓存里,比如调用loadAllConversations()这个API去从本地数据库把会话加载到缓存中?如果没有加载到缓存中 直接取肯定获取不到

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值