我正在使用smack openfire创建一个Android聊天应用程序。我面临的问题是我知道如何发送和接受订阅请求,但我怎么知道我是否收到任何订阅请求。 我使用过Stanza监听器,但是listner只监听传入的聊天消息而不是订阅请求。 以下是我的代码
StanzaFilter filter=new StanzaTypeFilter(Message.class);
PacketCollector collector=connection.createPacketCollector(filter);
connection.addAsyncStanzaListener(new StanzaListener() {
@Override
public void processPacket(Stanza packet) throws SmackException.NotConnectedException {
Log.wtf("MA","Stanz listner");
}
},filter);
我是smack的初学者,请帮助我如何收听收到的订阅请求。谢谢提前..
答案 0 :(得分:0)
订阅请求不是Message
。这是一个Presence
。
所以,你可能应该尝试:
StanzaFilter filter = new StanzaTypeFilter(Presence.class);
答案 1 :(得分:0)
这就是我在Android代码中的表现
python cifar10_eval.py
然后在Android中长时间运行的服务中引用了此连接对象。这样做是为了当应用程序处于后台时收到数据包时,您仍然可以处理传入的状态数据包。
P.S。我在我的android代码中使用了smack 4.1.9。