描述: 他人发给我消息,不管在主页面还是在聊天列表页面,均能收到消息且能得到未读消息数量,但若我保留未读消息,杀掉进程,再次打开app,主页面下tabbar角标并不显示未读消息数量。

上环信官网中的社区->问题->环信_iOS 搜索未读消息数量,看了很多他人遇到的问题,我的问题始终还是未能解决。 后来在代理头文件中看到如下描述:

/*!@method@brief  调用sdk登录接口,登陆成功之后,sdk内部会默认调用一次该函数从数据库获取信息,包括自己相关的群组,被屏蔽的群组的id数组,会话,消息@discussion 登录成功之后调用@result     错误信息*/
- (EMError *)loadDataFromDatabase;
复制代码

获取未读消息数量:

NSArray *conversations = [[EaseMob sharedInstance].chatManager conversations];NSInteger totalUnreadCount = 0;for (EMConversation *conversation in conversations) {totalUnreadCount += conversation.unreadMessagesCount;}
复制代码

奇怪的是,我在获取未读消息数量之前添加:

[[EaseMob sharedInstance].chatManager loadDataFromDatabase];
复制代码

仍不能获取未读消息数量。

后来怀疑是进入到我的主页面的时候,环信并未登录;后来验证了下,果然如此。(注: 登录分两种,1.账号密码登录,此时调了环信登录接口;2.若账号密码存在本地,则自动push到主页面(此时,并未调环信登录接口,进入到主页面再去判断环信是否登录,然后做相关操作))。因此,之所以获取不到未读消息数量,是因为自动登录,然后环信还未登录成功前就去获取未读消息数量,所以获取不到,但若等待几秒后,再次获取可以获取到未读消息数量。

如5秒后再去获取未读消息数量:

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{NSArray *conversations = [[EaseMob sharedInstance].chatManager conversations];NSInteger totalUnreadCount = 0;for (EMConversation *conversation in conversations) {totalUnreadCount += conversation.unreadMessagesCount;}[self.bottomToolBar showBageValues:totalUnreadCount];});
复制代码

遇到问题真的需要多考虑,多种思路

环信-获取未读消息数量相关推荐

  1. 微信HOOK 获取未读消息数量

    微信版本:3.4.5.27 要点:靠微信未读消息数量定位 1.打开CE附加微信 2.用另一个微信给这个微信发送消息 3 条位读 3.CE精准数字搜索3 4.然后取消搜索0 5.在发送2条 在搜索2 6 ...

  2. 融云客服获取未读消息

    比较极客的我们 能动手的尽量少BB 这里主要介绍两个API getUnreadCount setOnReceiveMessageListener 思路:为 setOnReceiveMessageLis ...

  3. 美洽系统怎么获取未读消息

    获取未读消息 美洽官方的聊天按钮可以显示未读消息的数量,以及提供最近一条未读消息的预览. 如果你设置了无按钮模式,这两个数据也就无法被呈现了.但是通过 _MEIQIA('getUnreadMsg', ...

  4. VUE 实现购物车或者消息中心未读消息数量的实时监听

    涉及到商城,平台等项目一般都会有实时数据的更新问题,比如这种: 下面是我的处理方式:全局绑定一个方法 Vue.prototype.$addStorageEvent = function (type, ...

  5. [iOS微博项目 - 3.6] - 获取未读消息

    github: https://github.com/hellovoidworld/HVWWeibo   A.获取登陆用户未读消息 1.需求 获取所有未读消息,包括新微博.私信.@.转发.关注等 把未 ...

  6. 对接腾讯企业邮箱(授权免登,获取未读邮件数量)

    温馨提示:企业邮箱必须是专业版的才行,基础版的升级成专业版再对接吧 第一步:获取access_token 接口地址: https://api.exmail.qq.com/cgi-bin/gettoke ...

  7. TIM SDK腾讯实时通信获取未读消息

    使用TIM的getConversationList函数,不仅可以获取未读消息的具体信息,而是可以获取全部未读未读消息的总数. 调用方法: import TIM from 'tim-wx-sdk'// ...

  8. 安卓微信 返回显示未读条数_Android仿微信底部菜单栏功能显示未读消息数量

    底部菜单栏很重要,我看了一下很多应用软件都是用了底部菜单栏,这里使用了tabhost做了一种通用的(就是可以像微信那样显示未读消息数量的,虽然之前也做过但是layout下的xml写的太臃肿,这里去掉了 ...

  9. 图标显示未读消息数量

    最近做的项目,要求图标的右上角能显示未读消息的数量,也就像微信的未读消息一样的效果. 没有做过,之前一直这样的效果好是申请,怎么图标的右上角会出现一个圆圈,然后圆圈里面有数字呢. 只有经历,才能懂得. ...

最新文章

  1. 如何在工作中自学UI设计
  2. 《系统集成项目管理工程师》必背100个知识点-56X理论和Y理论
  3. 这些元器件基础知识都不懂,怎么混电子圈!
  4. Taro多端开发实现原理与项目实战(二)
  5. Mastering The Mix Total Bundle 2021 Mac - 混音插件合集
  6. super()的作用
  7. javacv相关学习:了解javacv
  8. 如何用吹风机计算机主机清理,用吹风机吹电脑里的灰尘可以吗?
  9. 小米手机第三方卡刷软件_小米手机MIUI卡刷图文教程
  10. html5gps定位经纬度,html5 定位 获得当前位置的经纬度
  11. stm32点亮流水灯(小白的求学之路)
  12. EPICS -- synApps -- Autosave
  13. 【分布式】关于分布式“一致性”的讨论
  14. 2020-08-21
  15. Ajax清晰请求步骤与代码
  16. Linux-2022版(尚硅谷)-Day01(全网最全笔记)
  17. ExpandableListView 模拟QQ好友分组 小实例
  18. MBA案例分析(行销与营销之营销三)
  19. 酸奶界的苹果Chobani冲刺纳斯达克,能否撑起百亿美元估值?
  20. 038 | 创业学·商业计划书 | 大学生创新训练项目申请书 | 极致技术工厂

热门文章

  1. Nuget很慢,我们该怎么办
  2. _BLOCK_TYPE_IS_VALID错误
  3. Log4Net日志分类和自动维护
  4. 如何高效的利用博客园?
  5. oracle中生成大批量数据的方法-下
  6. IT生存环境压力让人抑郁 .
  7. ios iphonex适配
  8. ios 设计模式 MVC ,MVVM
  9. PHP获取CentOS服务状态,简单linux下php获取服务器状态代码
  10. UITextFiled使用 + 不常见的需求