gpt4 book ai didi

android - 存在监听器无法在 asmack 中工作

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

我正在使用 asmack 为 Android 开发一个聊天应用程序。正在建立连接,我也可以登录了。我已经为 IQ 数据包添加了监听器并且工作正常。我也为 Presence 数据包添加了监听器,这是我的代码:

PacketTypeFilter presenceFilter=new PacketTypeFilter(Presence.class);

connection.addPacketListener(new PacketListener() {
public void processPacket(Packet packet) {
Presence presence = (Presence)packet;

Log.d("test1","Presence packet came :From:"+presence.getFrom()+",Packet ID:"+presence.getPacketID()+",Priority:"+presence.getPriority()+",To:"+presence.getTo()
+",Exn:"+presence.toXML());

if (presence.getType() == Presence.Type.available) {
Log.d("test1","User available");
}
else if (presence.getType() == Presence.Type.unavailable) {
Log.d("test1","User not available");
}
}
}, presenceFilter);

我的问题是,这个监听器永远不会为任何传入的 Presence 数据包调用。它适用于外向的人。我不能使用 Roster 来处理状态,因为我们的服务器正在使用一些智能路由服务来处理用户可用性。我在这里做错了什么吗?任何输入都会有所帮助。

最佳答案

如果您不能使用花名册,那么您确定首先向该客户发送了任何出席信息吗?

客户端登录的用户是否在网络上其他用户的名册上?

您是否测试过使用可以编辑原始 xml 的客户端向客户端显式发送状态数据包?

关于android - 存在监听器无法在 asmack 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16557498/

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