发送文本消息

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

查看文件

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