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

本文解决环信接口发送消息时,因用户名大小写敏感导致的本地数据库存储问题。介绍了正确的消息发送方法及如何确保重启后消息记录正确读取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说一下我的场景:

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

 

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

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

 

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值