2012-06-05 78 views

回答

0

您應該可以使用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類獲取節點信息。檢查文檔,您可以使用它獲取有關訂閱節點的幾乎所有內容。

希望有幫助!