gpt4 book ai didi

android - 如何使用 Smack 删除 XMPPClient 的数据包监听器

转载 作者:行者123 更新时间:2023-11-29 00:30:15 26 4
gpt4 key购买 nike

我通过XMPP 服务器(openFire) 使用Smack 开发了一个聊天应用程序。为了获取传入消息,我曾经使用 PacketFilter这是传入的消息代码:-

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);

但我想在 Activity 关闭、停止或销毁期间删除 paketListener。我关注这个http://community.igniterealtime.org/thread/28921用于删除数据包监听器但未找到解决方案。

请检查。谢谢你的时间。

最佳答案

这里有一些你可以开始的东西:

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

然后,一旦您想要实例化 PacketListener:

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

删除它:

connection.removePacketListener(packetListener);

关于android - 如何使用 Smack 删除 XMPPClient 的数据包监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16164065/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com