Sfoglia il codice sorgente

发送文本消息

master
徐勤民 1 anno fa
parent
commit
b323e3e248
2 ha cambiato i file con 23 aggiunte e 6 eliminazioni
  1. +11
    -6
      SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/manager/ImManager.java
  2. +12
    -0
      SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/msg/SendAckMessage.java

+ 11
- 6
SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/manager/ImManager.java Vedi File

@@ -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;
}


+ 12
- 0
SzyxImSdk/src/main/java/cn/org/bjca/trust/android/lib/im/im/msg/SendAckMessage.java Vedi File

@@ -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;
}
}

Loading…
Annulla
Salva