【发布时间】:2018-06-06 08:11:18
【问题描述】:
我尝试使用 Smack#UserSearchManager 搜索用户。但它总是返回空的 ReportedData。我确定我搜索的用户存在。所以我使用 spark 搜索同一个用户。它是真实存在的。 那是我的搜索代码。它在 smack 4.2.4 中使用。
DomainBareJid searchJID = JidCreate.domainBareFrom(Domainpart.from("search."+IMLib.getConn().getServiceName().asUnescapedString()));
UserSearchManager manager = new UserSearchManager(IMLib.getConn());
Form searchForm = manager.getSearchForm(searchJID);
Form answerForm = searchForm.createAnswerForm();
answerForm.setAnswer("Name", true);
answerForm.setAnswer("Username", true);
answerForm.setAnswer("Email", true);
answerForm.setAnswer("search", account);
ReportedData reportedData = manager.getSearchResults(answerForm, searchJID);
List<ReportedData.Row> rows = reportedData.getRows();
【问题讨论】: