房间公平消息收不到。
This commit is contained in:
@@ -337,7 +337,7 @@ public class MessageExListenerSingleton {
|
||||
|
||||
@Override
|
||||
public void onRecvGroupCustomMessage(String msgID, String groupID, V2TIMGroupMemberInfo sender, byte[] customData) {
|
||||
LogUtils.d("收到群自定义消息:群组 " + groupID + " 中 " + sender.getNickName());
|
||||
LogUtils.d("收到群自定义消息:群组 " + groupID + " 中 " + sender.getNickName() +",mRoomId:"+mRoomId);
|
||||
if (!groupID.equals("")) {
|
||||
if (groupID.replace("room","").equals(mRoomId)) {
|
||||
String message = new String(customData, StandardCharsets.UTF_8);
|
||||
|
||||
@@ -41,6 +41,8 @@ import java.util.Set;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @author qx
|
||||
* @data 2025/6/17
|
||||
@@ -52,7 +54,8 @@ public class MessageListenerSingleton {
|
||||
private List<OnMessageReceivedListener> listeners = new ArrayList<>();
|
||||
private V2TIMSimpleMsgListener simpleMsgListener;
|
||||
private V2TIMAdvancedMsgListener v2TIMAdvancedMsgListener;
|
||||
private static String mRoomId = "";
|
||||
@Getter
|
||||
public String mRoomId = "";
|
||||
public static String groupId;
|
||||
private V2TIMGroupListener groupListener;
|
||||
private V2TIMConversationListener conversationListener; // 需要保存引用
|
||||
@@ -96,7 +99,6 @@ public class MessageListenerSingleton {
|
||||
|
||||
// 同时修改 removePublicScreenMessageListener 方法
|
||||
public void removePublicScreenMessageListener(PublicScreenMessageListener listener) {
|
||||
mRoomId = "";
|
||||
if (listener == null) {
|
||||
return;
|
||||
}
|
||||
@@ -205,16 +207,16 @@ public class MessageListenerSingleton {
|
||||
|
||||
// 修改 joinGroup 方法,确保先退出再加入
|
||||
public void joinGroup(String roomId) {
|
||||
|
||||
if (TextUtils.isEmpty(roomId)) {
|
||||
return;
|
||||
}
|
||||
if (Objects.equals(mRoomId, roomId))
|
||||
return;
|
||||
|
||||
synchronized (groupOperationLock) {
|
||||
if (isGroupOperationInProgress) {
|
||||
// 如果有操作正在进行,延迟执行
|
||||
mainHandler.removeCallbacksAndMessages(null);
|
||||
mainHandler.postDelayed(() -> joinGroup(roomId), 100);
|
||||
mainHandler.postDelayed(() -> joinGroup(roomId), 200);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -340,7 +342,7 @@ public class MessageListenerSingleton {
|
||||
|
||||
@Override
|
||||
public void onRecvGroupCustomMessage(String msgID, String groupID, V2TIMGroupMemberInfo sender, byte[] customData) {
|
||||
LogUtils.d("收到群自定义消息:群组 " + groupID + " 中 " + sender.getNickName());
|
||||
LogUtils.d("收到群自定义消息:群组 " + groupID + " 中 " + sender.getNickName() +",mRoomId:"+mRoomId);
|
||||
if (!groupID.equals("")) {
|
||||
if (groupID.replace("room","").equals(mRoomId)) {
|
||||
String message = new String(customData, StandardCharsets.UTF_8);
|
||||
|
||||
@@ -177,7 +177,7 @@ public class ChatRoomFragment extends BaseMvpFragment<ChatRoomPresenter, RoomFra
|
||||
public void setupExMessageListener() {
|
||||
if (messageExListener != null) {
|
||||
MessageExListenerSingleton.getInstance().removePublicScreenMessageListener(messageExListener);
|
||||
messageListener = null;
|
||||
messageExListener = null;
|
||||
}
|
||||
mIsPriRoom = true;
|
||||
// 创建并添加监听器
|
||||
@@ -198,7 +198,7 @@ public class ChatRoomFragment extends BaseMvpFragment<ChatRoomPresenter, RoomFra
|
||||
public void clearExMessageListener() {
|
||||
if (messageExListener != null) {
|
||||
MessageExListenerSingleton.getInstance().removePublicScreenMessageListener(messageExListener);
|
||||
messageListener = null;
|
||||
messageExListener = null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user