0
我目前正在一個openfire服務器上,我有不同的用戶和4個可能的subcriptions主題。現在我想顯示在客戶端啓動時訂閱的主題。如何查詢用戶和他的訂閱通過XMPP(smack API)
有沒有辦法通過Smac(xmpp)搜索用戶的訂閱?
我目前正在一個openfire服務器上,我有不同的用戶和4個可能的subcriptions主題。現在我想顯示在客戶端啓動時訂閱的主題。如何查詢用戶和他的訂閱通過XMPP(smack API)
有沒有辦法通過Smac(xmpp)搜索用戶的訂閱?
您應該可以使用PubSubManager(<-Smack API文檔鏈接)獲取所有訂閱和節點。下面使用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實例的名稱。但是,如果需要節點和特定節點信息,則可以使用管理器從ID獲取節點,然後使用Node類獲取節點信息。檢查文檔,您可以使用它獲取有關訂閱節點的幾乎所有內容。
希望有幫助!