2010-09-04 60 views

回答

2

下面是一個例子使用Smack

SASLAuthentication.supportSASLMechanism("PLAIN"); 
ConnectionConfiguration config = new ConnectionConfiguration(
     "talk.google.com", 5222, "gmail.com"); 
XMPPConnection conn = new XMPPConnection(config); 
conn.connect(); 
conn.login("[email protected]", "password"); 
Roster roster = conn.getRoster(); 
Collection<RosterEntry> set = roster.getEntries(); 
for (RosterEntry re: set) { 
    System.out.println(">> " + re.getUser());    
    Presence pres = roster.getPresence(re.getUser()); 
    //This is the status. 
    System.out.println("\t> " + pres.getMode()); 
} 

使用Prescence.getStatus()得到的消息字符串

+0

我用這個代碼,但它爲所有的電子郵件地址返回unavailabke ... 其實我有3個在線ID – Kandha 2010-09-04 06:31:40

+0

我用這條線 pres.isAvaliabl E(); 獲取狀態.. 它現在正在工作... – Kandha 2010-09-04 06:35:53

+0

應該是getMode()不是getType()。我編輯了我的答案。 – 2010-09-05 04:47:09