Невозможно получать сообщения чата с помощью smackx MultiUserChat API - PullRequest
1 голос
/ 26 марта 2012

Я пытаюсь использовать smack API для Android, чтобы создать чат с использованием учетных записей gmail.Мне удалось создать комнату и отправить сообщения в группу.Но когда кто-то отвечает, я не могу получать входящие сообщения ни непосредственно в окне чата, ни через программу (muc.addMessageListener (myMessageListener) и PacketListener).



    ConnectionConfiguration config = new ConnectionConfiguration("talk.google.com", 5222, "gmail.com");
    config.setSASLAuthenticationEnabled(true);
    connection = new XMPPConnection(config);
    connection.connect();
    connection.login("kandroid6990@gmail.com", "password");
    muc = new MultiUserChat(connection, "private-chat-12325669-dead-beff-feed-fedcba987454@groupchat.google.com");
    muc.sendConfigurationForm(new Form(Form.TYPE_SUBMIT));
    muc.join("kandroid6990");
    muc.invite("karthikbaskar3@gmail.com/User1", "Welcome!");
    muc.invite("kamaraj6990@gmail.com/User2", "Welcome!");

</code>
<code>

    Message msg = new Message("private-chat-12325669-dead-beff-feed-fedcba987454@groupchat.google.com", Message.Type.groupchat);
    msg.addBody(Message.getDefaultLanguage(), messageText);
    muc.sendMessage(msg);


Ответы [ 3 ]

2 голосов
/ 27 марта 2012

Попробуйте

muc.addMessageListener(myMessageListener);
0 голосов
/ 15 октября 2014

попробуйте, это может помочь в получении сообщения группового чата. Просто включите прослушиватель группового чата

PacketFilter filter = new MessageTypeFilter(Message.Type.groupchat);
XmppTool.con.addPacketListener(new PacketListener() {
    @Override
    public void processPacket(Packet packet) {
        Message message = (Message) packet;


            }
        }
    }
}, filter);
0 голосов
/ 20 июня 2013
private MultiUserChat   muc; /* Initialize muc */
private void listeningForMessages() 
 {
    muc.addMessageListener(new PacketListener() {
    public void processPacket(Packet packet) 
    {
        final Message message = (Message) packet;
        // Do your action with the message              
    }
    });
  }
...