android环信3.0v回撤,android端环信集成做消息回撤,单聊可以撤回,群聊加上官方文档那两句代码还是不行...

//发送透传消息代码如下:

String action="REVOKE_FLAG";

EMMessage cmdMessage=EMMessage.createSendMessage(EMMessage.Type.CMD);

if (message.getChatType() == EMMessage.ChatType.GroupChat){

Log.i(TAG, "是群组消息");

cmdMessage.setChatType(ChatType.GroupChat);

}

EMCmdMessageBody cmdBody=new EMCmdMessageBody(action);

String toChatUserName=getIntent().getExtras().getString("toChatUserName");

Log.i(TAG,"toChatUserName------>"+toChatUserName);

cmdMessage.setReceipt(toChatUserName);

String msgId=message.getMsgId();

Log.i(TAG, "msgIdsend-------->"+msgId);

cmdMessage.setAttribute("msgid",msgId);

cmdMessage.addBody(cmdBody);

EMClient.getInstance().chatManager().sendMessage(cmdMessage);

//接收透传消息代码如下:

@Override

public void onCmdMessageReceived(Listmessages) {

for (EMMessage message : messages) {

EMCmdMessageBody cmdMsgBody = (EMCmdMessageBody) message.getBody();

String action = cmdMsgBody.action();

//TODO 接收cmd信息

if (action.equals("REVOKE_FLAG")) {

Log.i(TAG, "进入");

String msgId;

try {

msgId = message.getStringAttribute("msgid");

Log.i(TAG, "msgIdreceive-------->"+msgId);

EMConversation conversation =EMClient.getInstance().chatManager().getConversation(message.getFrom());

//--删除消息来表示撤回--

conversation.removeMessage(msgId);

messageList.refresh();

// 如果需要,可以插入一条“XXX回撤一条消息”

} catch (HyphenateException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

//end of red packet code

super.onCmdMessageReceived(messages);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值