gpt4 book ai didi

android - XMPP : Asmack Connection PacketListener Issue. ..

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:55:30 25 4
gpt4 key购买 nike

我正在为 Android XMPP 集成使用 asmack api...

在 xmpp 连接认证成功后,我已经使用 PacketListener 进行传入消息通知。

我的应用程序是基于选项卡的应用程序。当我通过点击 friend 列表进入聊天 Activity 时,我的数据包监听器被添加到 OnCreate 方法中的连接。

问题是我移动到此屏幕的次数越多,听众的数量就越多,而且我多次收到相同的消息。

这个问题有什么解决方案吗?

PacketFilter filter = new MessageTypeFilter(Message.Type.chat);
PacketListener pListener = new PacketListener() {
public void processPacket(Packet packet) {
Message message = (Message) packet;
if (message.getBody() != null) {
String fromName = StringUtils.parseBareAddress(message
.getFrom());
Log.i("XMPPClient", "Got text [" + message.getBody()
+ "] from [" + fromName + "]");
messages.add(fromName + ":");
messages.add(message.getBody());
// Add the incoming message to the list view
mHandler.post(new Runnable() {
public void run() {
setListAdapter();
}
});
}
}
};

connection.addPacketListener(pListener, filter);

最佳答案

@维沙尔。您不应该在您的任何 Activity 文件中添加此监听器,只需将这些监听器添加到您的 Android 服务中,该服务应始终以单个实例运行。

谢谢

关于android - XMPP : Asmack Connection PacketListener Issue. ..,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5853945/

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