【发布时间】:2016-10-23 18:01:13
【问题描述】:
我正在使用 smack open fire 创建一个 android 聊天应用程序。我面临的问题是我知道如何发送和接受订阅请求,但我怎么知道我是否收到了任何订阅请求。 我使用了 Stanza 监听器,但监听器只监听传入的聊天消息,而不是订阅请求。 下面是我的代码
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 的初学者,请帮助我如何收听传入的订阅请求。提前致谢。
【问题讨论】:
-
何时向该用户发送订阅请求?这个“Stanz listner”不会打印在日志中?
-
StanzaTypeFilter 将实现一个函数 'accept' 你返回了什么?
-
我只是使用这个模块来收听传入的订阅..我错了吗?如果我错了,你能告诉我我应该在那里写什么而不是节过滤器..提前谢谢
-
这应该可以。只需删除 packetCollector 行,我猜你的代码中不需要这个。
标签: android xmpp openfire smack