2016-01-13 68 views
0

我想在ejabberd(15.11)和sma(4.1.5)在android上建立聊天。smack UserSearchManager與ejabberd

發送訂閱節前我想檢查該用戶是否通過檢查我的服務器上存在如果JID已在使用中:

UserSearchManager userSearchManager = new UserSearchManager(connection); 
    Form searchForm = userSearchManager.getSearchForm("vjud." + connection.getServiceName());  
    Form answerForm = searchForm.createAnswerForm(); 
    answerForm.setAnswer("user", userName + "@" + connection.getServiceName()); 
    ReportedData data = userSearchManager.getSearchResults(answerForm, "vjud." + connection.getServiceName()); 

我得到多列從我的服務器,但沒有行 - 意味着沒有數據。 如果我只取用戶名或Jid,無所謂。

我除了使用密碼註冊用戶以外,沒有別的辦法,所以沒有設置firstname或類似的東西。

有人可以告訴我我做錯了什麼或最好的地方在哪裏查找設置答案參數?我搜查了很多,但找不到任何幫助。

回答

0

Jabber用戶目錄基於Vcard。無法通過用戶目錄搜索沒有Vcard的用戶。這意味着確實,註冊用戶不足以使其出現在Jabber搜索目錄中。

+0

是否有辦法自動將第一部分jid(@之前的所有內容)添加到Vcard? – Agyss