android 环信消息红点,环信3.0获取会话消息列表
环信2.0有一个获取消息列表的方法
/*!
@method
@brief 从数据库中加载消息
@discussion
@result 加载的消息列表
*/
- (NSArray *)loadAllMessages;
而3.0中并没有这个方法,而是将两个账户的会话消息合并在一起,首先获取两个账户在本地的所有会话消息
//发送者的所有会话消息
EMConversation *conversation = [[EMClient sharedClient].chatManager getConversation:self.userName type:EMConversationTypeChat createIfNotExist:YES];
//从数据库获取指定数量消息
NSArray *array = [conversation loadMoreMessagesFromId:nil limit:100 direction:EMMessageSearchDirectionUp];
[self.dataArray addObjectsFromArray:array];
//接收者的所有会话消息(登录账户的所有会话消息)
EMConversation *conversation1 = [[EMClient sharedClient].chatManager getConversation:[[EMClient sharedClient] currentUsername] type:EMConversationTypeChat createIfNotExist:YES];
NSArray *array1 = [conversation1 loadMoreMessagesFromId:nil limit:100 direction:EMMessageSearchDirectionUp];
[self.dataArray addObjectsFromArray:array1];
之后循环遍历数组,获取属于双方的会话消息
NSMutableArray *messageArray = [NSMutableArray array];
//循环遍历数组,从中获取发送与接收是双方的会话消息
for (EMMessage *message in self.dataArray) {
if (([message.from isEqualToString:self.userName]&&[message.to isEqualToString:[[EMClient sharedClient] currentUsername]]) || ([message.from isEqualToString:[[EMClient sharedClient] currentUsername]]&&[message.to isEqualToString:self.userName]) ) {
[messageArray addObject:message];
}
}
接下来按照时间把获得的消息进来排序
//根据客户端发送/收到此消息的时间按时间进行排序
NSArray *sortArray = [messageArray sortedArrayUsingComparator:^NSComparisonResult(EMMessage * obj1, EMMessage * obj2) {
if(obj1.localTime < obj2.localTime){
return (NSComparisonResult)NSOrderedAscending;
}else{
return (NSComparisonResult)NSOrderedDescending;
}
}];
这样就获得了单独的会话列表了。
android 环信消息红点,环信3.0获取会话消息列表相关推荐
- php监听mq消息,客户端监听服务端获取rabbitmq消息队列,rabbitmq有消息的时候客户端刷新页面才能获取到消息,监听没起到作用,请求各位大神指点迷津...
header("Content-Type:text/html;charset=utf-8"); use Workerman\Worker; require_once __DIR__ ...
- 环信即时通讯云iOS版V2.0.9.1服务评测
集成测试 评测环境 2G/3G/WiFi网络下: 测评环境 MAC OS(10.9.2)+ XCode(5.1) + iPhone 测试对象 环信即时通讯云 IOS SDK Version 2.0.9 ...
- mob sdk vue 短信验证_基于环信SDK的IM即时通讯填坑之路(vue)
1.这里如果注册异常的type==17则代表已注册,那就直接去登录 2.这里id是依据是否在应用内已登录(自己应用,非环信), 如果是未登录(游客状态)则随机一个 Math.ceil(Math.ran ...
- 环信集成 2---基于环信Demo3.0,实现单聊功能
这几天在做环信,所以把环信相关的东西拿过来,做个系统点的东西 注意: 这里Demo集成的是带有实时语音功能的(libEaseMobClientSDK.a). 环信库是直接拖拽EaseMobSDK文件夹 ...
- Android 短信模块分析(四) MMS之短信的发送与接收
MMS之短信的发送与接收分析: 一.信息发送: com.android.mms.data.WorkingMessage.java 类 send()函数: public void send() { . ...
- android 短信位置,浅析Android手机卫士之手机实现短信指令获取位置
推荐阅读: 获取位置 新建一个service的包 新建一个GPSService类继承系统的Service类 清单文件中注册一下 重写onCreate()方法,服务创建的时候回调 重写onDestroy ...
- Android开发学习之电话、短信、联系人
作为一部手机,最重要的功能当属电话.短信.联系人了,所以今天想和大家分享的是关于Android电话.短信.联系人这块的API接口. 1.通话记录的获取 List<TelePhoneRecord& ...
- android app 短信接收,Android创建简单发送和接收短信应用
本文实例为大家分享了Android创建发送和接收短信应用的简单实现过程,供大家参考,具体内容如下 一.接收短信 项目的结构如下:一个简单的接收和发送短信的功能 1.定义一个接收短信的广播:当手机接收到 ...
- Android Mms短信的发送流程,短信发送源码解析
发送前的校验 从短信的点击按钮开始着手: // packages/apps/Mms/src/com/android/mms/ui/ComposeMessageActivity.java@Overrid ...
最新文章
- 不用任何第三方,写一个RTMP直播推流器
- 什么样的NLP库,可以支持53种语言?
- Python 中多线程共享全局变量的问题
- 阿里云yum源安装SVN失败的问题
- 【VIJOS - P1037】搭建双塔(dp)
- Win10提示不是有效的字体文件怎么解决
- 算法-求两个有序数组两两相加的值最小的K个数
- python IDLE颜色设置
- 信息系统综合知识六 标准化与知识产权
- 努比亚 Z17s (Nubia NX595J) 解锁BootLoader 并刷入recovery ROOT
- linux卸载kodi,如何在Ubuntu 18.04上安装Kodi
- 用js如何实现获取验证码
- 关于nmap和traceroute在虚拟机里使用的问题
- 《算法竞赛进阶指南》 荷马史诗
- web指纹识别技术研究与优化实现
- 【Axure教程】鼠标右键显示菜单
- 微软MSDN Web cast系列视频教程集锦
- 瀑布模型(waterfall model)需求明确+严格顺序执行
- 我的申请已经通过审核,你想成为阿里云 MVP 吗?
- php动态创建变量名,PHP中动态创建变量名(可变变量)