我目前在openfire服务器上工作,我有不同的用户和4个可能的订阅主题。现在我想显示在客户端开始时订阅的主题。
有没有办法通过Smac(xmpp)搜索用户订阅?
答案 0 :(得分:0)
您应该能够使用PubSubManager(< - Smack api doc链接)来获取所有订阅和节点。下面使用PubSubManager获取订阅列表,然后使用该列表获取所有订阅ID:
try
{
PubSubManager manager = new PubSubManager(XMPPClient.connection);
List<Subscription> listSubs = manager.getSubscriptions();
for(int i = 0; i < listSubs.size(); i++)
{
System.out.println(listSubs.get(i).getId());
}
}
catch(XMPPException e)
{
System.out.println(e.getMessage());
}
打印连接订阅的所有订阅ID的简单示例。 XMPPClient是Smack XMPPClient实例的名称。但是,如果需要节点和特定节点信息,可以使用管理器从ids获取节点,然后使用Node类获取节点信息。查看该文档,您可以获得有关订阅节点所需的全部内容。
希望有所帮助!