asmack中的MessageListener集成了facebook聊天无法绑定到任何小部件

时间:2013-02-13 11:21:41

标签: facebook xmpp asmack

我在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 个答案:

答案 0 :(得分:0)

基本上你的问题是你每次都在做的新MessageListener。将监听器放在自己的类中,每次都添加它。

connection.getChatManager().addChatListener(new ChatManagerListener() {
    @Override
    public void chatCreated(Chat chat, boolean b) {
        chat.addMessageListener(messageListener);
    }
});