我经历了许多类似的线程,但我还是无法解决它。
Device1收到Device1发送的消息,但Device2没有收到。以下是我使用的代码,
//声明 - 全球
private ChatManager chatManager;
private MessageListener messageListener;
org.jivesoftware.smack.Chat chat ;
//初始化 - 在onCreate内部
chat = chatManager.createChat("cst_meadows1@tpchat.com", messageListener);
chatManager = connection.getChatManager();
messageListener = new MyMessageListener();
// MyMessageListener()方法
class MyMessageListener implements MessageListener
{
@Override
public void processMessage(org.jivesoftware.smack.Chat chat, Message message)
{
String body = message.getBody();
System.out.println(String.format("Received message '%1$s'", body));
Log.e("message received", " body - "+body);
chat_body.add(body);
lsadapter.notifyDataSetChanged();
lv.invalidate();
}
}
//发送消息 - 按下按钮
chat.sendMessage(text);
但是MessageListener没有调用传入的消息,而是调用从当前设备发送的消息。
我也试过,xmpp send and receive message in android application
How to receive Incoming XMPP Messages using Smack?
我不知道我哪里错了。我是否需要在manifest.xml中给予任何权限?