【发布时间】:2014-10-20 14:23:05
【问题描述】:
当 device1 向会议室“del@conference.jabber.org”发送消息时 该消息显示在聊天列表中,并且还显示了会议室“del@conference.jabber.org”正在发送的重复消息。我卡住了,为什么我收到重复的消息。
public void setConnection(XMPPConnection connection) {
this.connection = connection;
if (connection != null) {
PacketFilter filter = new MessageTypeFilter(Message.Type.groupchat);
connection.addPacketListener(new PacketListener() {
@Override
public void processPacket(Packet packet) {
Message message = (Message) packet;
if (message.getBody() != null) {
String fromName = StringUtils.parseBareAddress(message.getFrom());
String[] parts = fromName.split("@");
String from = parts[0].trim();
messages.add(from + ":");
messages.add(message.getBody());
// Add the incoming message to the list view
mHandler.post(new Runnable() {
public void run() {
setListAdapter();
}
});
}
}
}, filter);
}
}
按钮点击发送消息,如下
Button send = (Button) this.findViewById(R.id.sendBtn);
send.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Message mg = muc.createMessage();
String text = textMessage.getText().toString();
mg.setBody(text);
Log.i("XMPPChatDemoActivity ", "Sending text ");
if (connection != null) {
connection.sendPacket(mg);
messages.add("Me :");
messages.add(text);
setListAdapter();
}
textMessage.setText("");
}
});
这是我为连接会议室而写的
muc = new MultiUserChat(connection, "del@conference.jabber.org");
muc.join("alias name","password");
在发送消息时输出我得到的信息
me: hello
del: hello
我想要什么,我发送消息时没有重复的消息,即
me: hello
【问题讨论】:
-
我面临同样的问题。你能发布你的答案吗?
-
@Pravin 我面临同样的问题。你是怎么解决的?