我试图用ejabberd(15.11)和smack(4.1.5)在android上建立聊天。
在发送订阅Stanza之前,我想通过检查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());
我从服务器获取多列,但没有行 - 表示没有数据。 如果我只使用userName或Jid,那没关系。
除了使用密码注册用户之外别无其他,因此未设置名字或类似名称。
有人可以告诉我我做错了什么,或者最好的位置是查找设置答案参数?我搜索了很多,但无法找到任何帮助。
答案 0 :(得分:0)
Jabber用户目录基于Vcard。没有Vcard的用户将无法通过用户目录进行搜索。这意味着,实际上,注册用户不足以使其出现在Jabber Search目录中。