asmack 中的 MessageListener 以集成无法绑定到任何小部件的 facebook 聊天
Posted
技术标签:
【中文标题】asmack 中的 MessageListener 以集成无法绑定到任何小部件的 facebook 聊天【英文标题】:MessageListener in asmack to integrate facebook chat not able to bind to any widget 【发布时间】:2013-02-13 11:21:40 【问题描述】:我在一个 android 应用程序中工作,我想在其中集成 facebook 聊天。为此,我正在使用 asmack-jse-buddycloud-2010.12.11。我能够发送和接收聊天。但我无法将它绑定到任何视图(Toast、ListView 等)。收到的消息在 MessageListener 中,我无法在任何视图中绑定它。
请查看我的代码:
public void SentFBMessage(String message)
Chat newChat = mObjChatManager.createNewChat(
"-100001303337607@chat.facebook.com", new MessageListener()
public void processMessage(Chat chat, Message message)
Log.e("Received message: ", message.getBody());
**Toast.makeText(getApplicationContext(),message.getBody(),Toast.LENGTH_LONG).show();**
);
try
newChat.sendMessage(message);
catch (XMPPException e)
System.out.println("Error Delivering block");
【问题讨论】:
【参考方案1】:基本上,您的问题是您每次都在制作新的 MessageListener。将监听器放在一个自己的类中,每次都添加它。
connection.getChatManager().addChatListener(new ChatManagerListener()
@Override
public void chatCreated(Chat chat, boolean b)
chat.addMessageListener(messageListener);
);
【讨论】:
以上是关于asmack 中的 MessageListener 以集成无法绑定到任何小部件的 facebook 聊天的主要内容,如果未能解决你的问题,请参考以下文章
MessageListener onMessage方法中的Spring RabbitMQ断点