Я использую код из официальной документации smack API для отправки сообщения на конкретный Jabber ID.
CLick HereКак отправить одно сообщение с помощью smack API 4.1.0 android
Я получаю сообщения из комнаты, используя код ниже.
public void joinChatRoom(){
MultiUserChatManager manager = MultiUserChatManager.getInstanceFor(connection);
multiUserChat = manager.getMultiUserChat("[email protected]");
try {
multiUserChat.join("user");
} catch (SmackException.NoResponseException e) {
e.printStackTrace();
} catch (XMPPException.XMPPErrorException e) {
e.printStackTrace();
} catch (SmackException.NotConnectedException e) {
e.printStackTrace();
}
ChatManager.getInstanceFor(connection).addChatListener(new ChatManagerListener() {
@Override
public void chatCreated(Chat chat, boolean createdLocally) {
chat.addMessageListener(new ChatMessageListener() {
@Override
public void processMessage(Chat chat, Message message) {
System.out.println(message.getBody());
}
});
}
});
System.out.println("Test");
}
Мой Вопрос в том, что как я могу отправить сообщение конкретному JID, потому что я не в состоянии работать это даже после того, как много прибегая к помощи того, что я пропавшими без вести. Соединение - прекрасный пользователь, также аутентифицируется, но ниже код теперь работает для отправки сообщения.
public void sendMsg() {
if (connection.isConnected()) {
// Assume we've created an XMPPConnection name "connection"._
chatmanager = ChatManager.getInstanceFor(connection);
newChat = chatmanager.createChat("[email protected]", new ChatMessageListener() {
@Override
public void processMessage(Chat chat, Message message) {
System.out.println("Received Message:"+message);
}
});
try {
System.out.println("check the message....");
newChat.sendMessage("Howdy!alksd;lsakdsa;lkdsa;lksa;lsa");
} catch (SmackException.NotConnectedException e) {
e.printStackTrace();
}
}
}
Любая помощь будет оценена Спасибо.
не получилось, вы использовали конференцию и попросили один-один чат? – Saveen
oky thats моя ошибка я удаляю конференцию –