发送文本消息

这个提交包含在:
xuqm 2023-05-31 11:03:03 +08:00
父节点 0fb7bd3bf5
当前提交 b323e3e248
共有 2 个文件被更改,包括 23 次插入6 次删除

查看文件

@ -164,7 +164,7 @@ public class ImManager implements IMInterface {
SendAckMessage sendAckMessage = GsonImplHelp.get().toObject(msg, SendAckMessage.class);
Message m = new Message();
m.obj = sendAckMessage.getAckId();
m.obj = sendAckMessage;
m.what = 10002;
handler.sendMessage(m);
@ -319,9 +319,9 @@ public class ImManager implements IMInterface {
@Override
public void handleMessage(@NonNull Message msg) {
super.handleMessage(msg);
String msgId = (String) msg.obj;
switch (msg.what) {
case 10001:
String msgId = (String) msg.obj;
IMSDKCallback callback = msgListenerMap.get(msgId);
if (null != callback) {
callback.failed(207, "发送超时");
@ -333,13 +333,18 @@ public class ImManager implements IMInterface {
}
break;
case 10002:
IMSDKCallback callback1 = msgListenerMap.get(msgId);
SendAckMessage sendAckMessage = (SendAckMessage) msg.obj;
String msgId1 = sendAckMessage.getAckId();
IMSDKCallback callback1 = msgListenerMap.get(msgId1);
if (null != callback1) {
for (MsgListener listener : msgListeners) {
listener.statusChange(msgId, 0);
if (sendAckMessage.getAckStatus() == 0)
listener.statusChange(msgId1, 0);
else listener.statusChange(msgId1, -1);
}
callback1.success();
msgListenerMap.remove(msgId);
if (sendAckMessage.getAckStatus() == 0) callback1.success();
else callback1.failed(208, "服务端转发失败");
msgListenerMap.remove(msgId1);
}
break;
}

查看文件

@ -9,6 +9,10 @@ public class SendAckMessage extends PacketMessage {
super(PacketType.SEND_ACK);
}
private String ackId;
/**
* 0-成功-1-失败;
*/
private int ackStatus;
public String getAckId() {
return ackId;
@ -17,4 +21,12 @@ public class SendAckMessage extends PacketMessage {
public void setAckId(String ackId) {
this.ackId = ackId;
}
public int getAckStatus() {
return ackStatus;
}
public void setAckStatus(int ackStatus) {
this.ackStatus = ackStatus;
}
}