如何删除使用啪X​​MPPClient的数据包监听器 [英] How to remove packet listeners of XMPPClient using Smack

查看:224
本文介绍了如何删除使用啪X​​MPPClient的数据包监听器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用我开发了一个聊天应用的 XMPP服务器(Openfire的)。为获得传入的消息,我用的 PacketFilter
这是进入的味精code: -

I developed a chat app using Smack by XMPP server(openFire). For getting incoming message, i used to PacketFilter This is incoming msg code:-

PacketFilter filter = new MessageTypeFilter(Message.Type.chat);
        connection.addPacketListener(new PacketListener() {
            public void processPacket(Packet packet) {
                Message message = (Message) packet;
                incomemsg = message.getBody();
                if (incomemsg != null) {
                    String fromName = StringUtils.parseBareAddress(message.getFrom());
                    frmname =  message.getBody();
                    Log.i("XMPPClient", "Got text [" + message.getBody() + "] from [" + fromName + "]");
                    // Add the incoming message to the list view
                    mHandler.post(new Runnable() {
                        public void run() {
                            // show the msg of chat in right side.
                              showMessage(frmname,false);
                              scrollContainer.getFocusables(scrollContainer.getChildCount());
                        }
                    });

                }
            }
        }, filter);

但我想活动接近过程中去除paketListener或停止或销毁。我按照这个 http://community.igniterealtime.org/thread/28921 以删除数据包监听器
但是没有找到解决办法。

But i want to remove paketListener during activity close or stop or destroy. i follow this http://community.igniterealtime.org/thread/28921 for remove packet listeners But not found solution.

请检查。感谢您的时间。

please check. thank you for your timing.

推荐答案

下面的东西,你可能启动:

Here's something you could start with:

public class YourClass {
    private PacketListener packetListener;
    ....
}

后来一度想要实例化PacketListener然后:

Then later on once you want to instantiate the PacketListener:

packetListener = new PacketListener(
....
);
connection.addPacketListener(packetListener);

和删除它:

connection.removePacketListener(packetListener);

这篇关于如何删除使用啪X​​MPPClient的数据包监听器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆