环信android

环信android

5
评论

【开源OA项目】基于环信IM开发完整的企业通讯解决方案-Dolores 开源项目 OA Dolores

KevinGong 发表了文章 • 1687 次浏览 • 2017-06-26 10:53 • 来自相关话题

我们公司想自己开发一套IM系统应该从哪里开始呢? 企业通讯录怎么保持同步呢? 企业通讯录的权限管理应该怎么做? 
 常常会听到身边亦或者网上的朋友讨论诸如此类的问题,正好前段时间我比较有时间,就决定做一套完整的企业通讯解决方案出来。 一个月后整个解决方案的雏形总算出来了,希望大家会喜欢^_^^_^
 
这整个解决方案都包括些什么东西呢?待我慢慢道来
既然是企业通讯工具那么通讯录的管理必不可少,部门/员工的增删改查既然有通讯录那么通讯录的 全量/增量更新 肯定是要支持的企业通讯录的权限管理当然也不会缺席 (基于RBAC权限管理模型)IM 即时消息服务. 自己开发一套即时消息服务不是不可能,可是会花费大量的时间精力而且 环信现在也足够好用了为什么不用呢?
 
想要了解更多信息请前往我们的项目主页
 
说了这么多,项目的名字都还没有介绍

英文名:dolores (WestWorld - Dolores Abernathy )
中文名:朵拉 (是不是很女性化? 没错是我女朋友取的名字 -_-#)
 
github主页:https://github.com/DoloresTeam
 
这里我对每个repo做一个简单的介绍

Dolores: 项目简介, 整个项目的架构, 数据库设计等等 你想了解的一切都可以在这里看到
dolores-ios: iOS版demo,可以聊天查看组织架构
dolores-android: 哈哈 还没有,当然我们欢迎各路安卓大牛贡献安卓版demo
organization: 组织架构的创建管理、更新、审计等等核心的东西都在这里啦
dolores-server: 为客户端提供restfull api 与环信服务器集成
dolores-admin: 后台管理网站,用于管理部门员工。一个基于React的webapp还很基础,欢迎各位大牛pr.
dolores-ldap-init: 后台数据库的初始化工具,详情可以查看readme
easemob-resty:对环信rest api的封装,让调用环信api更简单
dolores-avatar:生成类似钉钉那样的默认头像

交流讨论
1.github issue (推荐)
2.Dolores技术交流群(QQ群):641256202
最后再说一点整个服务端是用go来写的,作者也是golang的初学者,如果代码哪里写的有问题或者架构有问题欢迎大家指正
 
ONE MORE THING 我们的高清无码大LOGO




  查看全部
我们公司想自己开发一套IM系统应该从哪里开始呢? 企业通讯录怎么保持同步呢? 企业通讯录的权限管理应该怎么做?
 
 常常会听到身边亦或者网上的朋友讨论诸如此类的问题,正好前段时间我比较有时间,就决定做一套完整的企业通讯解决方案出来。 一个月后整个解决方案的雏形总算出来了,希望大家会喜欢^_^^_^
 
这整个解决方案都包括些什么东西呢?待我慢慢道来
  1. 既然是企业通讯工具那么通讯录的管理必不可少,部门/员工的增删改查
  2. 既然有通讯录那么通讯录的 全量/增量更新 肯定是要支持的
  3. 企业通讯录的权限管理当然也不会缺席 (基于RBAC权限管理模型)
  4. IM 即时消息服务. 自己开发一套即时消息服务不是不可能,可是会花费大量的时间精力而且 环信现在也足够好用了为什么不用呢?

 
想要了解更多信息请前往我们的项目主页
 
说了这么多,项目的名字都还没有介绍

英文名:dolores (WestWorld - Dolores Abernathy )
中文名:朵拉 (是不是很女性化? 没错是我女朋友取的名字 -_-#)
 
github主页:https://github.com/DoloresTeam
 
这里我对每个repo做一个简单的介绍

Dolores: 项目简介, 整个项目的架构, 数据库设计等等 你想了解的一切都可以在这里看到
dolores-ios: iOS版demo,可以聊天查看组织架构
dolores-android: 哈哈 还没有,当然我们欢迎各路安卓大牛贡献安卓版demo
organization: 组织架构的创建管理、更新、审计等等核心的东西都在这里啦
dolores-server: 为客户端提供restfull api 与环信服务器集成
dolores-admin: 后台管理网站,用于管理部门员工。一个基于React的webapp还很基础,欢迎各位大牛pr.
dolores-ldap-init: 后台数据库的初始化工具,详情可以查看readme
easemob-resty:对环信rest api的封装,让调用环信api更简单
dolores-avatar:生成类似钉钉那样的默认头像

交流讨论
1.github issue (推荐) 
2.Dolores技术交流群(QQ群):641256202

最后再说一点整个服务端是用go来写的,作者也是golang的初学者,如果代码哪里写的有问题或者架构有问题欢迎大家指正
 
ONE MORE THING 我们的高清无码大LOGO
687474703a2f2f6f7131696e636b76692e626b742e636c6f7564646e2e636f6d2f646f6c6f726573313032342e706e67.png

 
2
评论

【新手快速入门】集成环信常见问题+解决方案汇总 常见问题

dujiepeng 发表了文章 • 3068 次浏览 • 2017-05-22 15:51 • 来自相关话题

   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇
APNs证书创建和上传到环信后台头像昵称的简述和处理方案音视频离线推送Demo实现环信服务器聊天记录保存多久?离线收不到好友请求IOS中环信聊天窗口如何实现文件发送和预览的功能ios集成常见问题环信推送的一些常见问题
 
Android篇
环信3.0SDK集成小米推送教程EaseUI库中V4、v7包冲突解决方案Android EaseUI里的百度地图替换为高德地图android扩展消息(名片集成)关于会话列表的置顶聊天java.lang.UnsatisfiedLinkError: 的问题android 端 app 后台被杀死收不到消息的解决方案
昵称头像篇
android中如何显示开发者服务器上的昵称和头像 Android中显示头像(接上一篇文章看)环信(Android)设置头像和昵称的方法(最简单暴力的基于环信demo的集成)IOS中如何显示开发者服务器上的昵称和头像【环信公开课第12期视频回放】-所有关于环信IM昵称头像的问题听这课就够了
 
直播篇
一言不合你就搞个直播APP
 
客服集成
IM-SDK和客服SDK并存开发指南—Android篇IM-SDK和客服SDK并存开发指南—iOS篇
 
开源项目
Android简版demoios简版demo凡信2.0:超仿微信的开源项目 凡信3.0:携直播和红包而来高仿微信:Github 3,515 Star方圆十里:环信编程大赛冠军项目泛聊:定一个小目标写一个QQSlack聊天机器人:一天时间做一个聊天机器人TV视频通话:在电视上视频通话视频通话:Android手机视频通话酷信:ios高仿微信公众号助手:与订阅用户聊天沟通
 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
  查看全部
   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇

 
Android篇

昵称头像篇

 
直播篇
  1. 一言不合你就搞个直播APP

 
客服集成
  1. IM-SDK和客服SDK并存开发指南—Android篇
  2. IM-SDK和客服SDK并存开发指南—iOS篇

 
开源项目

 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
 
4
评论

【视频教程+源码】基于环信IM做一个仿微信APP-更新ing 郭永峰 高仿微信 仿微信 环信 XMPP

郭永峰 发表了文章 • 5974 次浏览 • 2017-05-16 15:29 • 来自相关话题

我只是一个普通人,做人要谦虚。
我不是大神,我也不是很厉害的。
天外有天,人外有人。
老师引入门,修行靠个人。
希望能帮助大家,谢谢。
    大家好,我是郭永峰(峰哥) | 一个普通大学计算机系毕业的大学生,曾就职于澳门遊澳集团有限公司,负责大型银联支付业务系统、跨国际短信业务系统(基于电信的SGIP)以及集团内部通讯系统 (负责android和openfire后台二次开发)的主要开发任务,担任项目负责人。13年就职于广州拓谷科技有限公司负责“酷蛙”车联网产品研发及汽车销售产品研发。14来年到17年2月份,就职于国内知名教育机构,负责教学研发及授课的工作。
 
本人现状况:
  
   在家录制教学视频(无收入),搞工作室,组建团队成立公司,如果大家觉得分享内容很喜欢,可以给我打点赏支持本人的工作室,二维码在文末,就不影响阅读了。

 
郭永峰IT教育工作室于2017年4月12日成立!
 
成立原因:

希望把近10年来从事IT互联网的知识分享给大家,包括Linux,WindowServer,Java,PHP,Android,iOS,H5等等等。
 

进入正题,本套课程基于环信IM教大家如何做一个类似微信的APP,只用于技术交流,请勿用于任何商业用途。
4月12号成立工作室,现在18号,过了一个星期一个星期录了5天的环信教程视频,我将放在网盘免费分享环信的教程视频主要是针对有开发经验者教程主要是使用环信来模仿微信来做一个即时通讯的案例课程主要是先讲socket基础 -> 环信 ->自定义协议希望这些教程视频能帮助大家,对即时通讯、socket和自定义协议有个较深入的了解同时能希望大家在面试时,在即时通讯这块不在陌生
  持续更新

第一阶段:即时通讯的了解和微信APP开发前的准备!

【视频教程+源码】基于环信IM做一个仿微信APP-01.即时通讯简介(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-02.XMPP简介(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-03.XMPP实现即时通信的准备工作(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-04.环信简介(了解) 

【视频教程+源码】基于环信IM做一个仿微信APP-05.集成环信的前提准备(掌握)
 
【视频教程+源码】基于环信IM做一个仿微信APP-06.环信SDK的版本的区别(掌握)

【视频教程+源码】基于环信IM做一个仿微信APP-07.微信-项目创建及代码目录结构规范(MVC)

【视频教程+源码】基于环信IM做一个仿微信APP-08.微信-集成环信SDK

【视频教程+源码】基于环信IM做一个仿微信APP-09.微信-登录界面排版

【视频教程+源码】基于环信IM做一个仿微信APP-10.微信-主界面搭建

【视频教程+源码】基于环信IM做一个仿微信APP-11.微信-注册功能

【视频教程+源码】基于环信IM做一个仿微信APP- 12.微信-登录功能

【视频教程+源码】基于环信IM做一个仿微信APP- 13.微信-自动登录

【视频教程+源码】基于环信IM做一个仿微信APP- 14.微信-主动退出
 
【视频教程+源码】基于环信IM做一个仿微信APP-15.微信-在其它设备登录
 
整个项目源码,git地址https://github.com/mayaole/fWeiXin

 微信打赏






支付宝打赏






谢谢大家的支持,个人微信号清扫描下面张图






 
郭永峰IT交流QQ群请加:596441895 查看全部
我只是一个普通人,做人要谦虚。
我不是大神,我也不是很厉害的。
天外有天,人外有人。
老师引入门,修行靠个人。
希望能帮助大家,谢谢。

    大家好,我是郭永峰(峰哥) | 一个普通大学计算机系毕业的大学生,曾就职于澳门遊澳集团有限公司,负责大型银联支付业务系统、跨国际短信业务系统(基于电信的SGIP)以及集团内部通讯系统 (负责android和openfire后台二次开发)的主要开发任务,担任项目负责人。13年就职于广州拓谷科技有限公司负责“酷蛙”车联网产品研发及汽车销售产品研发。14来年到17年2月份,就职于国内知名教育机构,负责教学研发及授课的工作。
 
本人现状况:
  
   在家录制教学视频(无收入),搞工作室,组建团队成立公司,如果大家觉得分享内容很喜欢,可以给我打点赏支持本人的工作室,二维码在文末,就不影响阅读了。

 
郭永峰IT教育工作室于2017年4月12日成立!
 
成立原因:

希望把近10年来从事IT互联网的知识分享给大家,包括Linux,WindowServer,Java,PHP,Android,iOS,H5等等等。
 

进入正题,本套课程基于环信IM教大家如何做一个类似微信的APP,只用于技术交流,请勿用于任何商业用途。
  1. 4月12号成立工作室,现在18号,过了一个星期
  2. 一个星期录了5天的环信教程视频,我将放在网盘免费分享
  3. 环信的教程视频主要是针对有开发经验者
  4. 教程主要是使用环信来模仿微信来做一个即时通讯的案例
  5. 课程主要是先讲socket基础 -> 环信 ->自定义协议
  6. 希望这些教程视频能帮助大家,对即时通讯、socket和自定义协议有个较深入的了解
  7. 同时能希望大家在面试时,在即时通讯这块不在陌生

  持续更新

第一阶段:即时通讯的了解和微信APP开发前的准备!

【视频教程+源码】基于环信IM做一个仿微信APP-01.即时通讯简介(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-02.XMPP简介(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-03.XMPP实现即时通信的准备工作(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-04.环信简介(了解) 

【视频教程+源码】基于环信IM做一个仿微信APP-05.集成环信的前提准备(掌握)
 
【视频教程+源码】基于环信IM做一个仿微信APP-06.环信SDK的版本的区别(掌握)

【视频教程+源码】基于环信IM做一个仿微信APP-07.微信-项目创建及代码目录结构规范(MVC)

【视频教程+源码】基于环信IM做一个仿微信APP-08.微信-集成环信SDK

【视频教程+源码】基于环信IM做一个仿微信APP-09.微信-登录界面排版

【视频教程+源码】基于环信IM做一个仿微信APP-10.微信-主界面搭建

【视频教程+源码】基于环信IM做一个仿微信APP-11.微信-注册功能

【视频教程+源码】基于环信IM做一个仿微信APP- 12.微信-登录功能

【视频教程+源码】基于环信IM做一个仿微信APP- 13.微信-自动登录

【视频教程+源码】基于环信IM做一个仿微信APP- 14.微信-主动退出
 
【视频教程+源码】基于环信IM做一个仿微信APP-15.微信-在其它设备登录
 
整个项目源码,git地址https://github.com/mayaole/fWeiXin

 微信打赏

微信.png


支付宝打赏

支付宝.png


谢谢大家的支持,个人微信号清扫描下面张图

个人.png


 
郭永峰IT交流QQ群请加:596441895
1
回复

android 集成环信后 第一次登录闪退,重新打开app调刚才的登录接口就没有问题 环信android

回复

liu464809 回复了问题 • 1 人关注 • 106 次浏览 • 2017-05-18 15:11 • 来自相关话题

0
评论

环信Android消息回撤 回撤 环信android 消息回撤

回眸,祭奠记忆的尘埃 发表了文章 • 219 次浏览 • 2017-05-18 13:10 • 来自相关话题

环信现在的消息回撤开发文档没有更新, 所以得自己去写, 本人贡献点小东西.本项目用的SDK版本为3.3.1.
1. 首先在聊天消息里添加消息长按事件监听,里面添加撤回消息选项. 
   撤回点击之后处理为:  发送撤回消息!!!!!!cmdMsg = EMMessage.createSendMessage(EMMessage.Type.CMD);
// 如果是群聊, 设置chatType, 默认是单聊
if(chatType == Constant.CHATTYPE_GROUP){
cmdMsg.setChatType(ChatType.GroupChat);
}
String action = "REVOKE_FLAG";
EMCmdMessageBody cmdBody=new EMCmdMessageBody(action);
// 设置消息body
cmdMsg.addBody(cmdBody);
// 设置要发给谁, 用户username 或者群聊 grouid
cmdMsg.setTo(toChatUsername);
// 通过扩展字段添加要撤回消息的iD
cmdMsg.setAttribute("msgId", msgid); // 长按的时候, 获取本信息的message的Id
// long aa = cmdMsg.getMsgTime(); // 获取这个消息的发送时间
// 获取当前系统的时间
long time = new Date().getTime();
long minite = (time - aa - 6000)/1000; // 1s = 1000
if(minite <= 120){
EMClient.getInstance().chatManager().sendMessage(cmdMsg);
cmdMsg.setMessageStatusCallback(new EMCallBack() {

@Override
public void onSuccess() {
conversation.removeMessage(msgid);
handler.sendEmptyMessage(1);
}

@Override
public void onProgress(int arg0, String arg1) {
}

@Override
public void onError(int arg0, String arg1) {
// TODO Auto-generated method stub
String a = "";
// conversation.removeMessage(msgid);
}
});

}else{
ToastUtils.ToastShortMessage(getActivity(), "发送时间超过2分钟的消息!不能被撤回!");
}
break;





此处handler.sendEmptyMessage(1);中的内容是:
ToastUtils.ToastShortMessage(getActivity(), "消息已撤回!");
messageList.refresh();





2. 环信在获取CMD消息监听有三个地方: 分别为, EaseChatFragment, MainActivity, DemoHelper(此处为App后台运行时, 消息撤回的处理)
在EMMessageListener下的onCmdMessageReceived()中处理接受到的CMD消息, 首先贴上的为EaseChatFragment里面的: for(EMMessage emMessage : messages){
EMCmdMessageBody cmdMessageBody = (EMCmdMessageBody)emMessage.getBody();
String action = cmdMessageBody.action();
if(action.equals("REVOKE_FLAG")){
try {
msgId = emMessage.getStringAttribute("msgId");
conversation1 = EMClient.getInstance().chatManager().getConversation(emMessage.getFrom());
if(emMessage.getChatType() == ChatType.GroupChat){
messageList.refreshSelectLast(); //刷新UI
}else{
handler.sendEmptyMessage(1);
}
} catch (HyphenateException e) {
e.printStackTrace();

}

}
}此处handler.sendEmptyMessage(1)中的内容是:
// 删除表示撤销
conversation1.removeMessage(msgId);
messageList.refreshSelectLast();





3. MainActivity里面的处理方式: for(EMMessage emMessage : messages){
EMCmdMessageBody cmdMessageBody = (EMCmdMessageBody)emMessage.getBody();
String action = cmdMessageBody.action();
if(action.equals("REVOKE_FLAG")){
try {
msgId = emMessage.getStringAttribute("msgId");
conversation1 = EMClient.getInstance().chatManager().getConversation(emMessage.getFrom());
if(emMessage.getChatType() == ChatType.GroupChat){
refreshUIWithMessage(); // 刷新UI
}else{
handler.sendEmptyMessage(1);
}

} catch (HyphenateException e) {
e.printStackTrace();

}

}
} 此时handler.sendEmperymessage(1)中:
conversation1.removeMessage(msgId);
refreshUIWithMessage();4. DemoHelper里面的处理方式:for (final EMMessage message : messages) {
// 获取消息body
EMCmdMessageBody cmdMsgBody = (EMCmdMessageBody) message.getBody();
final String action = cmdMsgBody.action();// 获取自定义action
// 发送一个透传消息
if(action.equals("REVOKE_FLAG")){
try {
if(message.getChatType() == ChatType.GroupChat){ // 群组处理方式
conversation1 = EMClient.getInstance().chatManager().getConversation(message.getTo(), EaseCommonUtils.getConversationType(2), true);
}else{
conversation1 = EMClient.getInstance().chatManager().getConversation(message.getFrom());
}
msgId = message.getStringAttribute("msgId");

handler.sendEmptyMessage(1);
} catch (HyphenateException e) {
e.printStackTrace();
}
}
}此时handler.sendEmpertyMessage(1)中的方法是:
conversation1.removeMessage(msgId);至此,环信消息回调完成, 没有去做撤回回调处理,直接删除不好,如果想做的请自行处理.谢谢,本文纯属原创,如果有问题,可与我联系,QQ邮箱: 277667430@qq.com.本人姓氏: 侯 查看全部
环信现在的消息回撤开发文档没有更新, 所以得自己去写, 本人贡献点小东西.本项目用的SDK版本为3.3.1.
1. 首先在聊天消息里添加消息长按事件监听,里面添加撤回消息选项. 
   撤回点击之后处理为:  发送撤回消息!!!!!!
cmdMsg = EMMessage.createSendMessage(EMMessage.Type.CMD);
// 如果是群聊, 设置chatType, 默认是单聊
if(chatType == Constant.CHATTYPE_GROUP){
cmdMsg.setChatType(ChatType.GroupChat);
}
String action = "REVOKE_FLAG";
EMCmdMessageBody cmdBody=new EMCmdMessageBody(action);
// 设置消息body
cmdMsg.addBody(cmdBody);
// 设置要发给谁, 用户username 或者群聊 grouid
cmdMsg.setTo(toChatUsername);
// 通过扩展字段添加要撤回消息的iD
cmdMsg.setAttribute("msgId", msgid); // 长按的时候, 获取本信息的message的Id
// long aa = cmdMsg.getMsgTime(); // 获取这个消息的发送时间
// 获取当前系统的时间
long time = new Date().getTime();
long minite = (time - aa - 6000)/1000; // 1s = 1000
if(minite <= 120){
EMClient.getInstance().chatManager().sendMessage(cmdMsg);
cmdMsg.setMessageStatusCallback(new EMCallBack() {

@Override
public void onSuccess() {
conversation.removeMessage(msgid);
handler.sendEmptyMessage(1);
}

@Override
public void onProgress(int arg0, String arg1) {
}

@Override
public void onError(int arg0, String arg1) {
// TODO Auto-generated method stub
String a = "";
// conversation.removeMessage(msgid);
}
});

}else{
ToastUtils.ToastShortMessage(getActivity(), "发送时间超过2分钟的消息!不能被撤回!");
}
break;





此处handler.sendEmptyMessage(1);中的内容是:         
ToastUtils.ToastShortMessage(getActivity(), "消息已撤回!");
messageList.refresh();





2. 环信在获取CMD消息监听有三个地方: 分别为, EaseChatFragment, MainActivity, DemoHelper(此处为App后台运行时, 消息撤回的处理)
在EMMessageListener下的onCmdMessageReceived()中处理接受到的CMD消息, 首先贴上的为EaseChatFragment里面的: 
for(EMMessage emMessage : messages){
EMCmdMessageBody cmdMessageBody = (EMCmdMessageBody)emMessage.getBody();
String action = cmdMessageBody.action();
if(action.equals("REVOKE_FLAG")){
try {
msgId = emMessage.getStringAttribute("msgId");
conversation1 = EMClient.getInstance().chatManager().getConversation(emMessage.getFrom());
if(emMessage.getChatType() == ChatType.GroupChat){
messageList.refreshSelectLast(); //刷新UI
}else{
handler.sendEmptyMessage(1);
}
} catch (HyphenateException e) {
e.printStackTrace();

}

}
}
此处handler.sendEmptyMessage(1)中的内容是:
// 删除表示撤销
conversation1.removeMessage(msgId);
messageList.refreshSelectLast();





3. MainActivity里面的处理方式:
    for(EMMessage emMessage : messages){
EMCmdMessageBody cmdMessageBody = (EMCmdMessageBody)emMessage.getBody();
String action = cmdMessageBody.action();
if(action.equals("REVOKE_FLAG")){
try {
msgId = emMessage.getStringAttribute("msgId");
conversation1 = EMClient.getInstance().chatManager().getConversation(emMessage.getFrom());
if(emMessage.getChatType() == ChatType.GroupChat){
refreshUIWithMessage(); // 刷新UI
}else{
handler.sendEmptyMessage(1);
}

} catch (HyphenateException e) {
e.printStackTrace();

}

}
}
 
此时handler.sendEmperymessage(1)中: 
conversation1.removeMessage(msgId);
refreshUIWithMessage();
4. DemoHelper里面的处理方式:
for (final EMMessage message : messages) {
// 获取消息body
EMCmdMessageBody cmdMsgBody = (EMCmdMessageBody) message.getBody();
final String action = cmdMsgBody.action();// 获取自定义action
// 发送一个透传消息
if(action.equals("REVOKE_FLAG")){
try {
if(message.getChatType() == ChatType.GroupChat){ // 群组处理方式
conversation1 = EMClient.getInstance().chatManager().getConversation(message.getTo(), EaseCommonUtils.getConversationType(2), true);
}else{
conversation1 = EMClient.getInstance().chatManager().getConversation(message.getFrom());
}
msgId = message.getStringAttribute("msgId");

handler.sendEmptyMessage(1);
} catch (HyphenateException e) {
e.printStackTrace();
}
}
}
此时handler.sendEmpertyMessage(1)中的方法是: 
conversation1.removeMessage(msgId);
至此,环信消息回调完成, 没有去做撤回回调处理,直接删除不好,如果想做的请自行处理.谢谢,本文纯属原创,如果有问题,可与我联系,QQ邮箱: 277667430@qq.com.本人姓氏: 侯
8
回复

集成环信音视频通话,发起通话手机没有反应,求解答 android 环信android

baoshu 回复了问题 • 2 人关注 • 215 次浏览 • 2017-02-28 12:45 • 来自相关话题

4
回复

环信303:unknown server error 环信android 303 Unknown server error

baoshu 回复了问题 • 2 人关注 • 1151 次浏览 • 2017-02-20 09:51 • 来自相关话题

1
回复

环信批量删除聊天记录怎么搞 环信android

zhuhy 回复了问题 • 2 人关注 • 362 次浏览 • 2016-12-24 21:18 • 来自相关话题

1
回复

IOS 不能设置自动同意好友申请吗? 申请好友 环信android 环信 ios

donghai 回复了问题 • 2 人关注 • 403 次浏览 • 2016-11-26 22:26 • 来自相关话题

1
回复

环信消息排序 环信android

zhuhy 回复了问题 • 2 人关注 • 634 次浏览 • 2016-07-02 16:44 • 来自相关话题

1
回复

Android环信:传入群组id,结果找不到该群组 环信android

Wxin 回复了问题 • 2 人关注 • 838 次浏览 • 2016-06-13 18:39 • 来自相关话题

1
回复

如果所示的报错信息,调用不到endCall 环信android

回复

jiangym 回复了问题 • 1 人关注 • 882 次浏览 • 2016-03-03 21:26 • 来自相关话题

5
评论

【开源OA项目】基于环信IM开发完整的企业通讯解决方案-Dolores 开源项目 OA Dolores

KevinGong 发表了文章 • 1687 次浏览 • 2017-06-26 10:53 • 来自相关话题

我们公司想自己开发一套IM系统应该从哪里开始呢? 企业通讯录怎么保持同步呢? 企业通讯录的权限管理应该怎么做? 
 常常会听到身边亦或者网上的朋友讨论诸如此类的问题,正好前段时间我比较有时间,就决定做一套完整的企业通讯解决方案出来。 一个月后整个解决方案的雏形总算出来了,希望大家会喜欢^_^^_^
 
这整个解决方案都包括些什么东西呢?待我慢慢道来
既然是企业通讯工具那么通讯录的管理必不可少,部门/员工的增删改查既然有通讯录那么通讯录的 全量/增量更新 肯定是要支持的企业通讯录的权限管理当然也不会缺席 (基于RBAC权限管理模型)IM 即时消息服务. 自己开发一套即时消息服务不是不可能,可是会花费大量的时间精力而且 环信现在也足够好用了为什么不用呢?
 
想要了解更多信息请前往我们的项目主页
 
说了这么多,项目的名字都还没有介绍

英文名:dolores (WestWorld - Dolores Abernathy )
中文名:朵拉 (是不是很女性化? 没错是我女朋友取的名字 -_-#)
 
github主页:https://github.com/DoloresTeam
 
这里我对每个repo做一个简单的介绍

Dolores: 项目简介, 整个项目的架构, 数据库设计等等 你想了解的一切都可以在这里看到
dolores-ios: iOS版demo,可以聊天查看组织架构
dolores-android: 哈哈 还没有,当然我们欢迎各路安卓大牛贡献安卓版demo
organization: 组织架构的创建管理、更新、审计等等核心的东西都在这里啦
dolores-server: 为客户端提供restfull api 与环信服务器集成
dolores-admin: 后台管理网站,用于管理部门员工。一个基于React的webapp还很基础,欢迎各位大牛pr.
dolores-ldap-init: 后台数据库的初始化工具,详情可以查看readme
easemob-resty:对环信rest api的封装,让调用环信api更简单
dolores-avatar:生成类似钉钉那样的默认头像

交流讨论
1.github issue (推荐)
2.Dolores技术交流群(QQ群):641256202
最后再说一点整个服务端是用go来写的,作者也是golang的初学者,如果代码哪里写的有问题或者架构有问题欢迎大家指正
 
ONE MORE THING 我们的高清无码大LOGO




  查看全部
我们公司想自己开发一套IM系统应该从哪里开始呢? 企业通讯录怎么保持同步呢? 企业通讯录的权限管理应该怎么做?
 
 常常会听到身边亦或者网上的朋友讨论诸如此类的问题,正好前段时间我比较有时间,就决定做一套完整的企业通讯解决方案出来。 一个月后整个解决方案的雏形总算出来了,希望大家会喜欢^_^^_^
 
这整个解决方案都包括些什么东西呢?待我慢慢道来
  1. 既然是企业通讯工具那么通讯录的管理必不可少,部门/员工的增删改查
  2. 既然有通讯录那么通讯录的 全量/增量更新 肯定是要支持的
  3. 企业通讯录的权限管理当然也不会缺席 (基于RBAC权限管理模型)
  4. IM 即时消息服务. 自己开发一套即时消息服务不是不可能,可是会花费大量的时间精力而且 环信现在也足够好用了为什么不用呢?

 
想要了解更多信息请前往我们的项目主页
 
说了这么多,项目的名字都还没有介绍

英文名:dolores (WestWorld - Dolores Abernathy )
中文名:朵拉 (是不是很女性化? 没错是我女朋友取的名字 -_-#)
 
github主页:https://github.com/DoloresTeam
 
这里我对每个repo做一个简单的介绍

Dolores: 项目简介, 整个项目的架构, 数据库设计等等 你想了解的一切都可以在这里看到
dolores-ios: iOS版demo,可以聊天查看组织架构
dolores-android: 哈哈 还没有,当然我们欢迎各路安卓大牛贡献安卓版demo
organization: 组织架构的创建管理、更新、审计等等核心的东西都在这里啦
dolores-server: 为客户端提供restfull api 与环信服务器集成
dolores-admin: 后台管理网站,用于管理部门员工。一个基于React的webapp还很基础,欢迎各位大牛pr.
dolores-ldap-init: 后台数据库的初始化工具,详情可以查看readme
easemob-resty:对环信rest api的封装,让调用环信api更简单
dolores-avatar:生成类似钉钉那样的默认头像

交流讨论
1.github issue (推荐) 
2.Dolores技术交流群(QQ群):641256202

最后再说一点整个服务端是用go来写的,作者也是golang的初学者,如果代码哪里写的有问题或者架构有问题欢迎大家指正
 
ONE MORE THING 我们的高清无码大LOGO
687474703a2f2f6f7131696e636b76692e626b742e636c6f7564646e2e636f6d2f646f6c6f726573313032342e706e67.png

 
2
评论

【新手快速入门】集成环信常见问题+解决方案汇总 常见问题

dujiepeng 发表了文章 • 3068 次浏览 • 2017-05-22 15:51 • 来自相关话题

   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇
APNs证书创建和上传到环信后台头像昵称的简述和处理方案音视频离线推送Demo实现环信服务器聊天记录保存多久?离线收不到好友请求IOS中环信聊天窗口如何实现文件发送和预览的功能ios集成常见问题环信推送的一些常见问题
 
Android篇
环信3.0SDK集成小米推送教程EaseUI库中V4、v7包冲突解决方案Android EaseUI里的百度地图替换为高德地图android扩展消息(名片集成)关于会话列表的置顶聊天java.lang.UnsatisfiedLinkError: 的问题android 端 app 后台被杀死收不到消息的解决方案
昵称头像篇
android中如何显示开发者服务器上的昵称和头像 Android中显示头像(接上一篇文章看)环信(Android)设置头像和昵称的方法(最简单暴力的基于环信demo的集成)IOS中如何显示开发者服务器上的昵称和头像【环信公开课第12期视频回放】-所有关于环信IM昵称头像的问题听这课就够了
 
直播篇
一言不合你就搞个直播APP
 
客服集成
IM-SDK和客服SDK并存开发指南—Android篇IM-SDK和客服SDK并存开发指南—iOS篇
 
开源项目
Android简版demoios简版demo凡信2.0:超仿微信的开源项目 凡信3.0:携直播和红包而来高仿微信:Github 3,515 Star方圆十里:环信编程大赛冠军项目泛聊:定一个小目标写一个QQSlack聊天机器人:一天时间做一个聊天机器人TV视频通话:在电视上视频通话视频通话:Android手机视频通话酷信:ios高仿微信公众号助手:与订阅用户聊天沟通
 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
  查看全部
   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇

 
Android篇

昵称头像篇

 
直播篇
  1. 一言不合你就搞个直播APP

 
客服集成
  1. IM-SDK和客服SDK并存开发指南—Android篇
  2. IM-SDK和客服SDK并存开发指南—iOS篇

 
开源项目

 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
 
4
评论

【视频教程+源码】基于环信IM做一个仿微信APP-更新ing 郭永峰 高仿微信 仿微信 环信 XMPP

郭永峰 发表了文章 • 5974 次浏览 • 2017-05-16 15:29 • 来自相关话题

我只是一个普通人,做人要谦虚。
我不是大神,我也不是很厉害的。
天外有天,人外有人。
老师引入门,修行靠个人。
希望能帮助大家,谢谢。
    大家好,我是郭永峰(峰哥) | 一个普通大学计算机系毕业的大学生,曾就职于澳门遊澳集团有限公司,负责大型银联支付业务系统、跨国际短信业务系统(基于电信的SGIP)以及集团内部通讯系统 (负责android和openfire后台二次开发)的主要开发任务,担任项目负责人。13年就职于广州拓谷科技有限公司负责“酷蛙”车联网产品研发及汽车销售产品研发。14来年到17年2月份,就职于国内知名教育机构,负责教学研发及授课的工作。
 
本人现状况:
  
   在家录制教学视频(无收入),搞工作室,组建团队成立公司,如果大家觉得分享内容很喜欢,可以给我打点赏支持本人的工作室,二维码在文末,就不影响阅读了。

 
郭永峰IT教育工作室于2017年4月12日成立!
 
成立原因:

希望把近10年来从事IT互联网的知识分享给大家,包括Linux,WindowServer,Java,PHP,Android,iOS,H5等等等。
 

进入正题,本套课程基于环信IM教大家如何做一个类似微信的APP,只用于技术交流,请勿用于任何商业用途。
4月12号成立工作室,现在18号,过了一个星期一个星期录了5天的环信教程视频,我将放在网盘免费分享环信的教程视频主要是针对有开发经验者教程主要是使用环信来模仿微信来做一个即时通讯的案例课程主要是先讲socket基础 -> 环信 ->自定义协议希望这些教程视频能帮助大家,对即时通讯、socket和自定义协议有个较深入的了解同时能希望大家在面试时,在即时通讯这块不在陌生
  持续更新

第一阶段:即时通讯的了解和微信APP开发前的准备!

【视频教程+源码】基于环信IM做一个仿微信APP-01.即时通讯简介(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-02.XMPP简介(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-03.XMPP实现即时通信的准备工作(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-04.环信简介(了解) 

【视频教程+源码】基于环信IM做一个仿微信APP-05.集成环信的前提准备(掌握)
 
【视频教程+源码】基于环信IM做一个仿微信APP-06.环信SDK的版本的区别(掌握)

【视频教程+源码】基于环信IM做一个仿微信APP-07.微信-项目创建及代码目录结构规范(MVC)

【视频教程+源码】基于环信IM做一个仿微信APP-08.微信-集成环信SDK

【视频教程+源码】基于环信IM做一个仿微信APP-09.微信-登录界面排版

【视频教程+源码】基于环信IM做一个仿微信APP-10.微信-主界面搭建

【视频教程+源码】基于环信IM做一个仿微信APP-11.微信-注册功能

【视频教程+源码】基于环信IM做一个仿微信APP- 12.微信-登录功能

【视频教程+源码】基于环信IM做一个仿微信APP- 13.微信-自动登录

【视频教程+源码】基于环信IM做一个仿微信APP- 14.微信-主动退出
 
【视频教程+源码】基于环信IM做一个仿微信APP-15.微信-在其它设备登录
 
整个项目源码,git地址https://github.com/mayaole/fWeiXin

 微信打赏






支付宝打赏






谢谢大家的支持,个人微信号清扫描下面张图






 
郭永峰IT交流QQ群请加:596441895 查看全部
我只是一个普通人,做人要谦虚。
我不是大神,我也不是很厉害的。
天外有天,人外有人。
老师引入门,修行靠个人。
希望能帮助大家,谢谢。

    大家好,我是郭永峰(峰哥) | 一个普通大学计算机系毕业的大学生,曾就职于澳门遊澳集团有限公司,负责大型银联支付业务系统、跨国际短信业务系统(基于电信的SGIP)以及集团内部通讯系统 (负责android和openfire后台二次开发)的主要开发任务,担任项目负责人。13年就职于广州拓谷科技有限公司负责“酷蛙”车联网产品研发及汽车销售产品研发。14来年到17年2月份,就职于国内知名教育机构,负责教学研发及授课的工作。
 
本人现状况:
  
   在家录制教学视频(无收入),搞工作室,组建团队成立公司,如果大家觉得分享内容很喜欢,可以给我打点赏支持本人的工作室,二维码在文末,就不影响阅读了。

 
郭永峰IT教育工作室于2017年4月12日成立!
 
成立原因:

希望把近10年来从事IT互联网的知识分享给大家,包括Linux,WindowServer,Java,PHP,Android,iOS,H5等等等。
 

进入正题,本套课程基于环信IM教大家如何做一个类似微信的APP,只用于技术交流,请勿用于任何商业用途。
  1. 4月12号成立工作室,现在18号,过了一个星期
  2. 一个星期录了5天的环信教程视频,我将放在网盘免费分享
  3. 环信的教程视频主要是针对有开发经验者
  4. 教程主要是使用环信来模仿微信来做一个即时通讯的案例
  5. 课程主要是先讲socket基础 -> 环信 ->自定义协议
  6. 希望这些教程视频能帮助大家,对即时通讯、socket和自定义协议有个较深入的了解
  7. 同时能希望大家在面试时,在即时通讯这块不在陌生

  持续更新

第一阶段:即时通讯的了解和微信APP开发前的准备!

【视频教程+源码】基于环信IM做一个仿微信APP-01.即时通讯简介(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-02.XMPP简介(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-03.XMPP实现即时通信的准备工作(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-04.环信简介(了解) 

【视频教程+源码】基于环信IM做一个仿微信APP-05.集成环信的前提准备(掌握)
 
【视频教程+源码】基于环信IM做一个仿微信APP-06.环信SDK的版本的区别(掌握)

【视频教程+源码】基于环信IM做一个仿微信APP-07.微信-项目创建及代码目录结构规范(MVC)

【视频教程+源码】基于环信IM做一个仿微信APP-08.微信-集成环信SDK

【视频教程+源码】基于环信IM做一个仿微信APP-09.微信-登录界面排版

【视频教程+源码】基于环信IM做一个仿微信APP-10.微信-主界面搭建

【视频教程+源码】基于环信IM做一个仿微信APP-11.微信-注册功能

【视频教程+源码】基于环信IM做一个仿微信APP- 12.微信-登录功能

【视频教程+源码】基于环信IM做一个仿微信APP- 13.微信-自动登录

【视频教程+源码】基于环信IM做一个仿微信APP- 14.微信-主动退出
 
【视频教程+源码】基于环信IM做一个仿微信APP-15.微信-在其它设备登录
 
整个项目源码,git地址https://github.com/mayaole/fWeiXin

 微信打赏

微信.png


支付宝打赏

支付宝.png


谢谢大家的支持,个人微信号清扫描下面张图

个人.png


 
郭永峰IT交流QQ群请加:596441895
5
评论

【开源OA项目】基于环信IM开发完整的企业通讯解决方案-Dolores 开源项目 OA Dolores

KevinGong 发表了文章 • 1687 次浏览 • 2017-06-26 10:53 • 来自相关话题

我们公司想自己开发一套IM系统应该从哪里开始呢? 企业通讯录怎么保持同步呢? 企业通讯录的权限管理应该怎么做? 
 常常会听到身边亦或者网上的朋友讨论诸如此类的问题,正好前段时间我比较有时间,就决定做一套完整的企业通讯解决方案出来。 一个月后整个解决方案的雏形总算出来了,希望大家会喜欢^_^^_^
 
这整个解决方案都包括些什么东西呢?待我慢慢道来
既然是企业通讯工具那么通讯录的管理必不可少,部门/员工的增删改查既然有通讯录那么通讯录的 全量/增量更新 肯定是要支持的企业通讯录的权限管理当然也不会缺席 (基于RBAC权限管理模型)IM 即时消息服务. 自己开发一套即时消息服务不是不可能,可是会花费大量的时间精力而且 环信现在也足够好用了为什么不用呢?
 
想要了解更多信息请前往我们的项目主页
 
说了这么多,项目的名字都还没有介绍

英文名:dolores (WestWorld - Dolores Abernathy )
中文名:朵拉 (是不是很女性化? 没错是我女朋友取的名字 -_-#)
 
github主页:https://github.com/DoloresTeam
 
这里我对每个repo做一个简单的介绍

Dolores: 项目简介, 整个项目的架构, 数据库设计等等 你想了解的一切都可以在这里看到
dolores-ios: iOS版demo,可以聊天查看组织架构
dolores-android: 哈哈 还没有,当然我们欢迎各路安卓大牛贡献安卓版demo
organization: 组织架构的创建管理、更新、审计等等核心的东西都在这里啦
dolores-server: 为客户端提供restfull api 与环信服务器集成
dolores-admin: 后台管理网站,用于管理部门员工。一个基于React的webapp还很基础,欢迎各位大牛pr.
dolores-ldap-init: 后台数据库的初始化工具,详情可以查看readme
easemob-resty:对环信rest api的封装,让调用环信api更简单
dolores-avatar:生成类似钉钉那样的默认头像

交流讨论
1.github issue (推荐)
2.Dolores技术交流群(QQ群):641256202
最后再说一点整个服务端是用go来写的,作者也是golang的初学者,如果代码哪里写的有问题或者架构有问题欢迎大家指正
 
ONE MORE THING 我们的高清无码大LOGO




  查看全部
我们公司想自己开发一套IM系统应该从哪里开始呢? 企业通讯录怎么保持同步呢? 企业通讯录的权限管理应该怎么做?
 
 常常会听到身边亦或者网上的朋友讨论诸如此类的问题,正好前段时间我比较有时间,就决定做一套完整的企业通讯解决方案出来。 一个月后整个解决方案的雏形总算出来了,希望大家会喜欢^_^^_^
 
这整个解决方案都包括些什么东西呢?待我慢慢道来
  1. 既然是企业通讯工具那么通讯录的管理必不可少,部门/员工的增删改查
  2. 既然有通讯录那么通讯录的 全量/增量更新 肯定是要支持的
  3. 企业通讯录的权限管理当然也不会缺席 (基于RBAC权限管理模型)
  4. IM 即时消息服务. 自己开发一套即时消息服务不是不可能,可是会花费大量的时间精力而且 环信现在也足够好用了为什么不用呢?

 
想要了解更多信息请前往我们的项目主页
 
说了这么多,项目的名字都还没有介绍

英文名:dolores (WestWorld - Dolores Abernathy )
中文名:朵拉 (是不是很女性化? 没错是我女朋友取的名字 -_-#)
 
github主页:https://github.com/DoloresTeam
 
这里我对每个repo做一个简单的介绍

Dolores: 项目简介, 整个项目的架构, 数据库设计等等 你想了解的一切都可以在这里看到
dolores-ios: iOS版demo,可以聊天查看组织架构
dolores-android: 哈哈 还没有,当然我们欢迎各路安卓大牛贡献安卓版demo
organization: 组织架构的创建管理、更新、审计等等核心的东西都在这里啦
dolores-server: 为客户端提供restfull api 与环信服务器集成
dolores-admin: 后台管理网站,用于管理部门员工。一个基于React的webapp还很基础,欢迎各位大牛pr.
dolores-ldap-init: 后台数据库的初始化工具,详情可以查看readme
easemob-resty:对环信rest api的封装,让调用环信api更简单
dolores-avatar:生成类似钉钉那样的默认头像

交流讨论
1.github issue (推荐) 
2.Dolores技术交流群(QQ群):641256202

最后再说一点整个服务端是用go来写的,作者也是golang的初学者,如果代码哪里写的有问题或者架构有问题欢迎大家指正
 
ONE MORE THING 我们的高清无码大LOGO
687474703a2f2f6f7131696e636b76692e626b742e636c6f7564646e2e636f6d2f646f6c6f726573313032342e706e67.png

 
2
评论

【新手快速入门】集成环信常见问题+解决方案汇总 常见问题

dujiepeng 发表了文章 • 3068 次浏览 • 2017-05-22 15:51 • 来自相关话题

   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇
APNs证书创建和上传到环信后台头像昵称的简述和处理方案音视频离线推送Demo实现环信服务器聊天记录保存多久?离线收不到好友请求IOS中环信聊天窗口如何实现文件发送和预览的功能ios集成常见问题环信推送的一些常见问题
 
Android篇
环信3.0SDK集成小米推送教程EaseUI库中V4、v7包冲突解决方案Android EaseUI里的百度地图替换为高德地图android扩展消息(名片集成)关于会话列表的置顶聊天java.lang.UnsatisfiedLinkError: 的问题android 端 app 后台被杀死收不到消息的解决方案
昵称头像篇
android中如何显示开发者服务器上的昵称和头像 Android中显示头像(接上一篇文章看)环信(Android)设置头像和昵称的方法(最简单暴力的基于环信demo的集成)IOS中如何显示开发者服务器上的昵称和头像【环信公开课第12期视频回放】-所有关于环信IM昵称头像的问题听这课就够了
 
直播篇
一言不合你就搞个直播APP
 
客服集成
IM-SDK和客服SDK并存开发指南—Android篇IM-SDK和客服SDK并存开发指南—iOS篇
 
开源项目
Android简版demoios简版demo凡信2.0:超仿微信的开源项目 凡信3.0:携直播和红包而来高仿微信:Github 3,515 Star方圆十里:环信编程大赛冠军项目泛聊:定一个小目标写一个QQSlack聊天机器人:一天时间做一个聊天机器人TV视频通话:在电视上视频通话视频通话:Android手机视频通话酷信:ios高仿微信公众号助手:与订阅用户聊天沟通
 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
  查看全部
   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇

 
Android篇

昵称头像篇

 
直播篇
  1. 一言不合你就搞个直播APP

 
客服集成
  1. IM-SDK和客服SDK并存开发指南—Android篇
  2. IM-SDK和客服SDK并存开发指南—iOS篇

 
开源项目

 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
 
4
评论

【视频教程+源码】基于环信IM做一个仿微信APP-更新ing 郭永峰 高仿微信 仿微信 环信 XMPP

郭永峰 发表了文章 • 5974 次浏览 • 2017-05-16 15:29 • 来自相关话题

我只是一个普通人,做人要谦虚。
我不是大神,我也不是很厉害的。
天外有天,人外有人。
老师引入门,修行靠个人。
希望能帮助大家,谢谢。
    大家好,我是郭永峰(峰哥) | 一个普通大学计算机系毕业的大学生,曾就职于澳门遊澳集团有限公司,负责大型银联支付业务系统、跨国际短信业务系统(基于电信的SGIP)以及集团内部通讯系统 (负责android和openfire后台二次开发)的主要开发任务,担任项目负责人。13年就职于广州拓谷科技有限公司负责“酷蛙”车联网产品研发及汽车销售产品研发。14来年到17年2月份,就职于国内知名教育机构,负责教学研发及授课的工作。
 
本人现状况:
  
   在家录制教学视频(无收入),搞工作室,组建团队成立公司,如果大家觉得分享内容很喜欢,可以给我打点赏支持本人的工作室,二维码在文末,就不影响阅读了。

 
郭永峰IT教育工作室于2017年4月12日成立!
 
成立原因:

希望把近10年来从事IT互联网的知识分享给大家,包括Linux,WindowServer,Java,PHP,Android,iOS,H5等等等。
 

进入正题,本套课程基于环信IM教大家如何做一个类似微信的APP,只用于技术交流,请勿用于任何商业用途。
4月12号成立工作室,现在18号,过了一个星期一个星期录了5天的环信教程视频,我将放在网盘免费分享环信的教程视频主要是针对有开发经验者教程主要是使用环信来模仿微信来做一个即时通讯的案例课程主要是先讲socket基础 -> 环信 ->自定义协议希望这些教程视频能帮助大家,对即时通讯、socket和自定义协议有个较深入的了解同时能希望大家在面试时,在即时通讯这块不在陌生
  持续更新

第一阶段:即时通讯的了解和微信APP开发前的准备!

【视频教程+源码】基于环信IM做一个仿微信APP-01.即时通讯简介(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-02.XMPP简介(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-03.XMPP实现即时通信的准备工作(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-04.环信简介(了解) 

【视频教程+源码】基于环信IM做一个仿微信APP-05.集成环信的前提准备(掌握)
 
【视频教程+源码】基于环信IM做一个仿微信APP-06.环信SDK的版本的区别(掌握)

【视频教程+源码】基于环信IM做一个仿微信APP-07.微信-项目创建及代码目录结构规范(MVC)

【视频教程+源码】基于环信IM做一个仿微信APP-08.微信-集成环信SDK

【视频教程+源码】基于环信IM做一个仿微信APP-09.微信-登录界面排版

【视频教程+源码】基于环信IM做一个仿微信APP-10.微信-主界面搭建

【视频教程+源码】基于环信IM做一个仿微信APP-11.微信-注册功能

【视频教程+源码】基于环信IM做一个仿微信APP- 12.微信-登录功能

【视频教程+源码】基于环信IM做一个仿微信APP- 13.微信-自动登录

【视频教程+源码】基于环信IM做一个仿微信APP- 14.微信-主动退出
 
【视频教程+源码】基于环信IM做一个仿微信APP-15.微信-在其它设备登录
 
整个项目源码,git地址https://github.com/mayaole/fWeiXin

 微信打赏






支付宝打赏






谢谢大家的支持,个人微信号清扫描下面张图






 
郭永峰IT交流QQ群请加:596441895 查看全部
我只是一个普通人,做人要谦虚。
我不是大神,我也不是很厉害的。
天外有天,人外有人。
老师引入门,修行靠个人。
希望能帮助大家,谢谢。

    大家好,我是郭永峰(峰哥) | 一个普通大学计算机系毕业的大学生,曾就职于澳门遊澳集团有限公司,负责大型银联支付业务系统、跨国际短信业务系统(基于电信的SGIP)以及集团内部通讯系统 (负责android和openfire后台二次开发)的主要开发任务,担任项目负责人。13年就职于广州拓谷科技有限公司负责“酷蛙”车联网产品研发及汽车销售产品研发。14来年到17年2月份,就职于国内知名教育机构,负责教学研发及授课的工作。
 
本人现状况:
  
   在家录制教学视频(无收入),搞工作室,组建团队成立公司,如果大家觉得分享内容很喜欢,可以给我打点赏支持本人的工作室,二维码在文末,就不影响阅读了。

 
郭永峰IT教育工作室于2017年4月12日成立!
 
成立原因:

希望把近10年来从事IT互联网的知识分享给大家,包括Linux,WindowServer,Java,PHP,Android,iOS,H5等等等。
 

进入正题,本套课程基于环信IM教大家如何做一个类似微信的APP,只用于技术交流,请勿用于任何商业用途。
  1. 4月12号成立工作室,现在18号,过了一个星期
  2. 一个星期录了5天的环信教程视频,我将放在网盘免费分享
  3. 环信的教程视频主要是针对有开发经验者
  4. 教程主要是使用环信来模仿微信来做一个即时通讯的案例
  5. 课程主要是先讲socket基础 -> 环信 ->自定义协议
  6. 希望这些教程视频能帮助大家,对即时通讯、socket和自定义协议有个较深入的了解
  7. 同时能希望大家在面试时,在即时通讯这块不在陌生

  持续更新

第一阶段:即时通讯的了解和微信APP开发前的准备!

【视频教程+源码】基于环信IM做一个仿微信APP-01.即时通讯简介(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-02.XMPP简介(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-03.XMPP实现即时通信的准备工作(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-04.环信简介(了解) 

【视频教程+源码】基于环信IM做一个仿微信APP-05.集成环信的前提准备(掌握)
 
【视频教程+源码】基于环信IM做一个仿微信APP-06.环信SDK的版本的区别(掌握)

【视频教程+源码】基于环信IM做一个仿微信APP-07.微信-项目创建及代码目录结构规范(MVC)

【视频教程+源码】基于环信IM做一个仿微信APP-08.微信-集成环信SDK

【视频教程+源码】基于环信IM做一个仿微信APP-09.微信-登录界面排版

【视频教程+源码】基于环信IM做一个仿微信APP-10.微信-主界面搭建

【视频教程+源码】基于环信IM做一个仿微信APP-11.微信-注册功能

【视频教程+源码】基于环信IM做一个仿微信APP- 12.微信-登录功能

【视频教程+源码】基于环信IM做一个仿微信APP- 13.微信-自动登录

【视频教程+源码】基于环信IM做一个仿微信APP- 14.微信-主动退出
 
【视频教程+源码】基于环信IM做一个仿微信APP-15.微信-在其它设备登录
 
整个项目源码,git地址https://github.com/mayaole/fWeiXin

 微信打赏

微信.png


支付宝打赏

支付宝.png


谢谢大家的支持,个人微信号清扫描下面张图

个人.png


 
郭永峰IT交流QQ群请加:596441895
1
回复

android 集成环信后 第一次登录闪退,重新打开app调刚才的登录接口就没有问题 环信android

回复

liu464809 回复了问题 • 1 人关注 • 106 次浏览 • 2017-05-18 15:11 • 来自相关话题

8
回复

集成环信音视频通话,发起通话手机没有反应,求解答 android 环信android

回复

baoshu 回复了问题 • 2 人关注 • 215 次浏览 • 2017-02-28 12:45 • 来自相关话题

4
回复

环信303:unknown server error 环信android 303 Unknown server error

回复

baoshu 回复了问题 • 2 人关注 • 1151 次浏览 • 2017-02-20 09:51 • 来自相关话题

1
回复

环信批量删除聊天记录怎么搞 环信android

回复

zhuhy 回复了问题 • 2 人关注 • 362 次浏览 • 2016-12-24 21:18 • 来自相关话题

1
回复

IOS 不能设置自动同意好友申请吗? 申请好友 环信android 环信 ios

回复

donghai 回复了问题 • 2 人关注 • 403 次浏览 • 2016-11-26 22:26 • 来自相关话题

1
回复

环信消息排序 环信android

回复

zhuhy 回复了问题 • 2 人关注 • 634 次浏览 • 2016-07-02 16:44 • 来自相关话题

1
回复

Android环信:传入群组id,结果找不到该群组 环信android

回复

Wxin 回复了问题 • 2 人关注 • 838 次浏览 • 2016-06-13 18:39 • 来自相关话题

1
回复

如果所示的报错信息,调用不到endCall 环信android

回复

jiangym 回复了问题 • 1 人关注 • 882 次浏览 • 2016-03-03 21:26 • 来自相关话题

5
评论

【开源OA项目】基于环信IM开发完整的企业通讯解决方案-Dolores 开源项目 OA Dolores

KevinGong 发表了文章 • 1687 次浏览 • 2017-06-26 10:53 • 来自相关话题

我们公司想自己开发一套IM系统应该从哪里开始呢? 企业通讯录怎么保持同步呢? 企业通讯录的权限管理应该怎么做? 
 常常会听到身边亦或者网上的朋友讨论诸如此类的问题,正好前段时间我比较有时间,就决定做一套完整的企业通讯解决方案出来。 一个月后整个解决方案的雏形总算出来了,希望大家会喜欢^_^^_^
 
这整个解决方案都包括些什么东西呢?待我慢慢道来
既然是企业通讯工具那么通讯录的管理必不可少,部门/员工的增删改查既然有通讯录那么通讯录的 全量/增量更新 肯定是要支持的企业通讯录的权限管理当然也不会缺席 (基于RBAC权限管理模型)IM 即时消息服务. 自己开发一套即时消息服务不是不可能,可是会花费大量的时间精力而且 环信现在也足够好用了为什么不用呢?
 
想要了解更多信息请前往我们的项目主页
 
说了这么多,项目的名字都还没有介绍

英文名:dolores (WestWorld - Dolores Abernathy )
中文名:朵拉 (是不是很女性化? 没错是我女朋友取的名字 -_-#)
 
github主页:https://github.com/DoloresTeam
 
这里我对每个repo做一个简单的介绍

Dolores: 项目简介, 整个项目的架构, 数据库设计等等 你想了解的一切都可以在这里看到
dolores-ios: iOS版demo,可以聊天查看组织架构
dolores-android: 哈哈 还没有,当然我们欢迎各路安卓大牛贡献安卓版demo
organization: 组织架构的创建管理、更新、审计等等核心的东西都在这里啦
dolores-server: 为客户端提供restfull api 与环信服务器集成
dolores-admin: 后台管理网站,用于管理部门员工。一个基于React的webapp还很基础,欢迎各位大牛pr.
dolores-ldap-init: 后台数据库的初始化工具,详情可以查看readme
easemob-resty:对环信rest api的封装,让调用环信api更简单
dolores-avatar:生成类似钉钉那样的默认头像

交流讨论
1.github issue (推荐)
2.Dolores技术交流群(QQ群):641256202
最后再说一点整个服务端是用go来写的,作者也是golang的初学者,如果代码哪里写的有问题或者架构有问题欢迎大家指正
 
ONE MORE THING 我们的高清无码大LOGO




  查看全部
我们公司想自己开发一套IM系统应该从哪里开始呢? 企业通讯录怎么保持同步呢? 企业通讯录的权限管理应该怎么做?
 
 常常会听到身边亦或者网上的朋友讨论诸如此类的问题,正好前段时间我比较有时间,就决定做一套完整的企业通讯解决方案出来。 一个月后整个解决方案的雏形总算出来了,希望大家会喜欢^_^^_^
 
这整个解决方案都包括些什么东西呢?待我慢慢道来
  1. 既然是企业通讯工具那么通讯录的管理必不可少,部门/员工的增删改查
  2. 既然有通讯录那么通讯录的 全量/增量更新 肯定是要支持的
  3. 企业通讯录的权限管理当然也不会缺席 (基于RBAC权限管理模型)
  4. IM 即时消息服务. 自己开发一套即时消息服务不是不可能,可是会花费大量的时间精力而且 环信现在也足够好用了为什么不用呢?

 
想要了解更多信息请前往我们的项目主页
 
说了这么多,项目的名字都还没有介绍

英文名:dolores (WestWorld - Dolores Abernathy )
中文名:朵拉 (是不是很女性化? 没错是我女朋友取的名字 -_-#)
 
github主页:https://github.com/DoloresTeam
 
这里我对每个repo做一个简单的介绍

Dolores: 项目简介, 整个项目的架构, 数据库设计等等 你想了解的一切都可以在这里看到
dolores-ios: iOS版demo,可以聊天查看组织架构
dolores-android: 哈哈 还没有,当然我们欢迎各路安卓大牛贡献安卓版demo
organization: 组织架构的创建管理、更新、审计等等核心的东西都在这里啦
dolores-server: 为客户端提供restfull api 与环信服务器集成
dolores-admin: 后台管理网站,用于管理部门员工。一个基于React的webapp还很基础,欢迎各位大牛pr.
dolores-ldap-init: 后台数据库的初始化工具,详情可以查看readme
easemob-resty:对环信rest api的封装,让调用环信api更简单
dolores-avatar:生成类似钉钉那样的默认头像

交流讨论
1.github issue (推荐) 
2.Dolores技术交流群(QQ群):641256202

最后再说一点整个服务端是用go来写的,作者也是golang的初学者,如果代码哪里写的有问题或者架构有问题欢迎大家指正
 
ONE MORE THING 我们的高清无码大LOGO
687474703a2f2f6f7131696e636b76692e626b742e636c6f7564646e2e636f6d2f646f6c6f726573313032342e706e67.png

 
2
评论

【新手快速入门】集成环信常见问题+解决方案汇总 常见问题

dujiepeng 发表了文章 • 3068 次浏览 • 2017-05-22 15:51 • 来自相关话题

   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇
APNs证书创建和上传到环信后台头像昵称的简述和处理方案音视频离线推送Demo实现环信服务器聊天记录保存多久?离线收不到好友请求IOS中环信聊天窗口如何实现文件发送和预览的功能ios集成常见问题环信推送的一些常见问题
 
Android篇
环信3.0SDK集成小米推送教程EaseUI库中V4、v7包冲突解决方案Android EaseUI里的百度地图替换为高德地图android扩展消息(名片集成)关于会话列表的置顶聊天java.lang.UnsatisfiedLinkError: 的问题android 端 app 后台被杀死收不到消息的解决方案
昵称头像篇
android中如何显示开发者服务器上的昵称和头像 Android中显示头像(接上一篇文章看)环信(Android)设置头像和昵称的方法(最简单暴力的基于环信demo的集成)IOS中如何显示开发者服务器上的昵称和头像【环信公开课第12期视频回放】-所有关于环信IM昵称头像的问题听这课就够了
 
直播篇
一言不合你就搞个直播APP
 
客服集成
IM-SDK和客服SDK并存开发指南—Android篇IM-SDK和客服SDK并存开发指南—iOS篇
 
开源项目
Android简版demoios简版demo凡信2.0:超仿微信的开源项目 凡信3.0:携直播和红包而来高仿微信:Github 3,515 Star方圆十里:环信编程大赛冠军项目泛聊:定一个小目标写一个QQSlack聊天机器人:一天时间做一个聊天机器人TV视频通话:在电视上视频通话视频通话:Android手机视频通话酷信:ios高仿微信公众号助手:与订阅用户聊天沟通
 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
  查看全部
   这里整理了集成环信的常见问题和一些功能的实现思路,希望能帮助到大家。感谢热心的开发者贡献,大家在观看过程中有不明白的地方欢迎直接跟帖咨询。
 
ios篇

 
Android篇

昵称头像篇

 
直播篇
  1. 一言不合你就搞个直播APP

 
客服集成
  1. IM-SDK和客服SDK并存开发指南—Android篇
  2. IM-SDK和客服SDK并存开发指南—iOS篇

 
开源项目

 
持续更新ing...小伙伴们还有什么想知道欢迎跟帖提出。
 
4
评论

【视频教程+源码】基于环信IM做一个仿微信APP-更新ing 郭永峰 高仿微信 仿微信 环信 XMPP

郭永峰 发表了文章 • 5974 次浏览 • 2017-05-16 15:29 • 来自相关话题

我只是一个普通人,做人要谦虚。
我不是大神,我也不是很厉害的。
天外有天,人外有人。
老师引入门,修行靠个人。
希望能帮助大家,谢谢。
    大家好,我是郭永峰(峰哥) | 一个普通大学计算机系毕业的大学生,曾就职于澳门遊澳集团有限公司,负责大型银联支付业务系统、跨国际短信业务系统(基于电信的SGIP)以及集团内部通讯系统 (负责android和openfire后台二次开发)的主要开发任务,担任项目负责人。13年就职于广州拓谷科技有限公司负责“酷蛙”车联网产品研发及汽车销售产品研发。14来年到17年2月份,就职于国内知名教育机构,负责教学研发及授课的工作。
 
本人现状况:
  
   在家录制教学视频(无收入),搞工作室,组建团队成立公司,如果大家觉得分享内容很喜欢,可以给我打点赏支持本人的工作室,二维码在文末,就不影响阅读了。

 
郭永峰IT教育工作室于2017年4月12日成立!
 
成立原因:

希望把近10年来从事IT互联网的知识分享给大家,包括Linux,WindowServer,Java,PHP,Android,iOS,H5等等等。
 

进入正题,本套课程基于环信IM教大家如何做一个类似微信的APP,只用于技术交流,请勿用于任何商业用途。
4月12号成立工作室,现在18号,过了一个星期一个星期录了5天的环信教程视频,我将放在网盘免费分享环信的教程视频主要是针对有开发经验者教程主要是使用环信来模仿微信来做一个即时通讯的案例课程主要是先讲socket基础 -> 环信 ->自定义协议希望这些教程视频能帮助大家,对即时通讯、socket和自定义协议有个较深入的了解同时能希望大家在面试时,在即时通讯这块不在陌生
  持续更新

第一阶段:即时通讯的了解和微信APP开发前的准备!

【视频教程+源码】基于环信IM做一个仿微信APP-01.即时通讯简介(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-02.XMPP简介(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-03.XMPP实现即时通信的准备工作(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-04.环信简介(了解) 

【视频教程+源码】基于环信IM做一个仿微信APP-05.集成环信的前提准备(掌握)
 
【视频教程+源码】基于环信IM做一个仿微信APP-06.环信SDK的版本的区别(掌握)

【视频教程+源码】基于环信IM做一个仿微信APP-07.微信-项目创建及代码目录结构规范(MVC)

【视频教程+源码】基于环信IM做一个仿微信APP-08.微信-集成环信SDK

【视频教程+源码】基于环信IM做一个仿微信APP-09.微信-登录界面排版

【视频教程+源码】基于环信IM做一个仿微信APP-10.微信-主界面搭建

【视频教程+源码】基于环信IM做一个仿微信APP-11.微信-注册功能

【视频教程+源码】基于环信IM做一个仿微信APP- 12.微信-登录功能

【视频教程+源码】基于环信IM做一个仿微信APP- 13.微信-自动登录

【视频教程+源码】基于环信IM做一个仿微信APP- 14.微信-主动退出
 
【视频教程+源码】基于环信IM做一个仿微信APP-15.微信-在其它设备登录
 
整个项目源码,git地址https://github.com/mayaole/fWeiXin

 微信打赏






支付宝打赏






谢谢大家的支持,个人微信号清扫描下面张图






 
郭永峰IT交流QQ群请加:596441895 查看全部
我只是一个普通人,做人要谦虚。
我不是大神,我也不是很厉害的。
天外有天,人外有人。
老师引入门,修行靠个人。
希望能帮助大家,谢谢。

    大家好,我是郭永峰(峰哥) | 一个普通大学计算机系毕业的大学生,曾就职于澳门遊澳集团有限公司,负责大型银联支付业务系统、跨国际短信业务系统(基于电信的SGIP)以及集团内部通讯系统 (负责android和openfire后台二次开发)的主要开发任务,担任项目负责人。13年就职于广州拓谷科技有限公司负责“酷蛙”车联网产品研发及汽车销售产品研发。14来年到17年2月份,就职于国内知名教育机构,负责教学研发及授课的工作。
 
本人现状况:
  
   在家录制教学视频(无收入),搞工作室,组建团队成立公司,如果大家觉得分享内容很喜欢,可以给我打点赏支持本人的工作室,二维码在文末,就不影响阅读了。

 
郭永峰IT教育工作室于2017年4月12日成立!
 
成立原因:

希望把近10年来从事IT互联网的知识分享给大家,包括Linux,WindowServer,Java,PHP,Android,iOS,H5等等等。
 

进入正题,本套课程基于环信IM教大家如何做一个类似微信的APP,只用于技术交流,请勿用于任何商业用途。
  1. 4月12号成立工作室,现在18号,过了一个星期
  2. 一个星期录了5天的环信教程视频,我将放在网盘免费分享
  3. 环信的教程视频主要是针对有开发经验者
  4. 教程主要是使用环信来模仿微信来做一个即时通讯的案例
  5. 课程主要是先讲socket基础 -> 环信 ->自定义协议
  6. 希望这些教程视频能帮助大家,对即时通讯、socket和自定义协议有个较深入的了解
  7. 同时能希望大家在面试时,在即时通讯这块不在陌生

  持续更新

第一阶段:即时通讯的了解和微信APP开发前的准备!

【视频教程+源码】基于环信IM做一个仿微信APP-01.即时通讯简介(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-02.XMPP简介(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-03.XMPP实现即时通信的准备工作(了解)

【视频教程+源码】基于环信IM做一个仿微信APP-04.环信简介(了解) 

【视频教程+源码】基于环信IM做一个仿微信APP-05.集成环信的前提准备(掌握)
 
【视频教程+源码】基于环信IM做一个仿微信APP-06.环信SDK的版本的区别(掌握)

【视频教程+源码】基于环信IM做一个仿微信APP-07.微信-项目创建及代码目录结构规范(MVC)

【视频教程+源码】基于环信IM做一个仿微信APP-08.微信-集成环信SDK

【视频教程+源码】基于环信IM做一个仿微信APP-09.微信-登录界面排版

【视频教程+源码】基于环信IM做一个仿微信APP-10.微信-主界面搭建

【视频教程+源码】基于环信IM做一个仿微信APP-11.微信-注册功能

【视频教程+源码】基于环信IM做一个仿微信APP- 12.微信-登录功能

【视频教程+源码】基于环信IM做一个仿微信APP- 13.微信-自动登录

【视频教程+源码】基于环信IM做一个仿微信APP- 14.微信-主动退出
 
【视频教程+源码】基于环信IM做一个仿微信APP-15.微信-在其它设备登录
 
整个项目源码,git地址https://github.com/mayaole/fWeiXin

 微信打赏

微信.png


支付宝打赏

支付宝.png


谢谢大家的支持,个人微信号清扫描下面张图

个人.png


 
郭永峰IT交流QQ群请加:596441895
0
评论

环信Android消息回撤 回撤 环信android 消息回撤

回眸,祭奠记忆的尘埃 发表了文章 • 219 次浏览 • 2017-05-18 13:10 • 来自相关话题

环信现在的消息回撤开发文档没有更新, 所以得自己去写, 本人贡献点小东西.本项目用的SDK版本为3.3.1.
1. 首先在聊天消息里添加消息长按事件监听,里面添加撤回消息选项. 
   撤回点击之后处理为:  发送撤回消息!!!!!!cmdMsg = EMMessage.createSendMessage(EMMessage.Type.CMD);
// 如果是群聊, 设置chatType, 默认是单聊
if(chatType == Constant.CHATTYPE_GROUP){
cmdMsg.setChatType(ChatType.GroupChat);
}
String action = "REVOKE_FLAG";
EMCmdMessageBody cmdBody=new EMCmdMessageBody(action);
// 设置消息body
cmdMsg.addBody(cmdBody);
// 设置要发给谁, 用户username 或者群聊 grouid
cmdMsg.setTo(toChatUsername);
// 通过扩展字段添加要撤回消息的iD
cmdMsg.setAttribute("msgId", msgid); // 长按的时候, 获取本信息的message的Id
// long aa = cmdMsg.getMsgTime(); // 获取这个消息的发送时间
// 获取当前系统的时间
long time = new Date().getTime();
long minite = (time - aa - 6000)/1000; // 1s = 1000
if(minite <= 120){
EMClient.getInstance().chatManager().sendMessage(cmdMsg);
cmdMsg.setMessageStatusCallback(new EMCallBack() {

@Override
public void onSuccess() {
conversation.removeMessage(msgid);
handler.sendEmptyMessage(1);
}

@Override
public void onProgress(int arg0, String arg1) {
}

@Override
public void onError(int arg0, String arg1) {
// TODO Auto-generated method stub
String a = "";
// conversation.removeMessage(msgid);
}
});

}else{
ToastUtils.ToastShortMessage(getActivity(), "发送时间超过2分钟的消息!不能被撤回!");
}
break;





此处handler.sendEmptyMessage(1);中的内容是:
ToastUtils.ToastShortMessage(getActivity(), "消息已撤回!");
messageList.refresh();





2. 环信在获取CMD消息监听有三个地方: 分别为, EaseChatFragment, MainActivity, DemoHelper(此处为App后台运行时, 消息撤回的处理)
在EMMessageListener下的onCmdMessageReceived()中处理接受到的CMD消息, 首先贴上的为EaseChatFragment里面的: for(EMMessage emMessage : messages){
EMCmdMessageBody cmdMessageBody = (EMCmdMessageBody)emMessage.getBody();
String action = cmdMessageBody.action();
if(action.equals("REVOKE_FLAG")){
try {
msgId = emMessage.getStringAttribute("msgId");
conversation1 = EMClient.getInstance().chatManager().getConversation(emMessage.getFrom());
if(emMessage.getChatType() == ChatType.GroupChat){
messageList.refreshSelectLast(); //刷新UI
}else{
handler.sendEmptyMessage(1);
}
} catch (HyphenateException e) {
e.printStackTrace();

}

}
}此处handler.sendEmptyMessage(1)中的内容是:
// 删除表示撤销
conversation1.removeMessage(msgId);
messageList.refreshSelectLast();





3. MainActivity里面的处理方式: for(EMMessage emMessage : messages){
EMCmdMessageBody cmdMessageBody = (EMCmdMessageBody)emMessage.getBody();
String action = cmdMessageBody.action();
if(action.equals("REVOKE_FLAG")){
try {
msgId = emMessage.getStringAttribute("msgId");
conversation1 = EMClient.getInstance().chatManager().getConversation(emMessage.getFrom());
if(emMessage.getChatType() == ChatType.GroupChat){
refreshUIWithMessage(); // 刷新UI
}else{
handler.sendEmptyMessage(1);
}

} catch (HyphenateException e) {
e.printStackTrace();

}

}
} 此时handler.sendEmperymessage(1)中:
conversation1.removeMessage(msgId);
refreshUIWithMessage();4. DemoHelper里面的处理方式:for (final EMMessage message : messages) {
// 获取消息body
EMCmdMessageBody cmdMsgBody = (EMCmdMessageBody) message.getBody();
final String action = cmdMsgBody.action();// 获取自定义action
// 发送一个透传消息
if(action.equals("REVOKE_FLAG")){
try {
if(message.getChatType() == ChatType.GroupChat){ // 群组处理方式
conversation1 = EMClient.getInstance().chatManager().getConversation(message.getTo(), EaseCommonUtils.getConversationType(2), true);
}else{
conversation1 = EMClient.getInstance().chatManager().getConversation(message.getFrom());
}
msgId = message.getStringAttribute("msgId");

handler.sendEmptyMessage(1);
} catch (HyphenateException e) {
e.printStackTrace();
}
}
}此时handler.sendEmpertyMessage(1)中的方法是:
conversation1.removeMessage(msgId);至此,环信消息回调完成, 没有去做撤回回调处理,直接删除不好,如果想做的请自行处理.谢谢,本文纯属原创,如果有问题,可与我联系,QQ邮箱: 277667430@qq.com.本人姓氏: 侯 查看全部
环信现在的消息回撤开发文档没有更新, 所以得自己去写, 本人贡献点小东西.本项目用的SDK版本为3.3.1.
1. 首先在聊天消息里添加消息长按事件监听,里面添加撤回消息选项. 
   撤回点击之后处理为:  发送撤回消息!!!!!!
cmdMsg = EMMessage.createSendMessage(EMMessage.Type.CMD);
// 如果是群聊, 设置chatType, 默认是单聊
if(chatType == Constant.CHATTYPE_GROUP){
cmdMsg.setChatType(ChatType.GroupChat);
}
String action = "REVOKE_FLAG";
EMCmdMessageBody cmdBody=new EMCmdMessageBody(action);
// 设置消息body
cmdMsg.addBody(cmdBody);
// 设置要发给谁, 用户username 或者群聊 grouid
cmdMsg.setTo(toChatUsername);
// 通过扩展字段添加要撤回消息的iD
cmdMsg.setAttribute("msgId", msgid); // 长按的时候, 获取本信息的message的Id
// long aa = cmdMsg.getMsgTime(); // 获取这个消息的发送时间
// 获取当前系统的时间
long time = new Date().getTime();
long minite = (time - aa - 6000)/1000; // 1s = 1000
if(minite <= 120){
EMClient.getInstance().chatManager().sendMessage(cmdMsg);
cmdMsg.setMessageStatusCallback(new EMCallBack() {

@Override
public void onSuccess() {
conversation.removeMessage(msgid);
handler.sendEmptyMessage(1);
}

@Override
public void onProgress(int arg0, String arg1) {
}

@Override
public void onError(int arg0, String arg1) {
// TODO Auto-generated method stub
String a = "";
// conversation.removeMessage(msgid);
}
});

}else{
ToastUtils.ToastShortMessage(getActivity(), "发送时间超过2分钟的消息!不能被撤回!");
}
break;





此处handler.sendEmptyMessage(1);中的内容是:         
ToastUtils.ToastShortMessage(getActivity(), "消息已撤回!");
messageList.refresh();





2. 环信在获取CMD消息监听有三个地方: 分别为, EaseChatFragment, MainActivity, DemoHelper(此处为App后台运行时, 消息撤回的处理)
在EMMessageListener下的onCmdMessageReceived()中处理接受到的CMD消息, 首先贴上的为EaseChatFragment里面的: 
for(EMMessage emMessage : messages){
EMCmdMessageBody cmdMessageBody = (EMCmdMessageBody)emMessage.getBody();
String action = cmdMessageBody.action();
if(action.equals("REVOKE_FLAG")){
try {
msgId = emMessage.getStringAttribute("msgId");
conversation1 = EMClient.getInstance().chatManager().getConversation(emMessage.getFrom());
if(emMessage.getChatType() == ChatType.GroupChat){
messageList.refreshSelectLast(); //刷新UI
}else{
handler.sendEmptyMessage(1);
}
} catch (HyphenateException e) {
e.printStackTrace();

}

}
}
此处handler.sendEmptyMessage(1)中的内容是:
// 删除表示撤销
conversation1.removeMessage(msgId);
messageList.refreshSelectLast();





3. MainActivity里面的处理方式:
    for(EMMessage emMessage : messages){
EMCmdMessageBody cmdMessageBody = (EMCmdMessageBody)emMessage.getBody();
String action = cmdMessageBody.action();
if(action.equals("REVOKE_FLAG")){
try {
msgId = emMessage.getStringAttribute("msgId");
conversation1 = EMClient.getInstance().chatManager().getConversation(emMessage.getFrom());
if(emMessage.getChatType() == ChatType.GroupChat){
refreshUIWithMessage(); // 刷新UI
}else{
handler.sendEmptyMessage(1);
}

} catch (HyphenateException e) {
e.printStackTrace();

}

}
}
 
此时handler.sendEmperymessage(1)中: 
conversation1.removeMessage(msgId);
refreshUIWithMessage();
4. DemoHelper里面的处理方式:
for (final EMMessage message : messages) {
// 获取消息body
EMCmdMessageBody cmdMsgBody = (EMCmdMessageBody) message.getBody();
final String action = cmdMsgBody.action();// 获取自定义action
// 发送一个透传消息
if(action.equals("REVOKE_FLAG")){
try {
if(message.getChatType() == ChatType.GroupChat){ // 群组处理方式
conversation1 = EMClient.getInstance().chatManager().getConversation(message.getTo(), EaseCommonUtils.getConversationType(2), true);
}else{
conversation1 = EMClient.getInstance().chatManager().getConversation(message.getFrom());
}
msgId = message.getStringAttribute("msgId");

handler.sendEmptyMessage(1);
} catch (HyphenateException e) {
e.printStackTrace();
}
}
}
此时handler.sendEmpertyMessage(1)中的方法是: 
conversation1.removeMessage(msgId);
至此,环信消息回调完成, 没有去做撤回回调处理,直接删除不好,如果想做的请自行处理.谢谢,本文纯属原创,如果有问题,可与我联系,QQ邮箱: 277667430@qq.com.本人姓氏: 侯