当 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