我正在使用asmack作为库和Android平台上的聊天应用程序。 是否有任何方法可以在我在服务器上添加朋友之前检查该朋友是否存在?
答案 0 :(得分:7)
我找到了答案:
UserSearchManager search = new UserSearchManager(mXMPPConnection);
Form searchForm = search
.getSearchForm("search." + mXMPPConnection.getServiceName());
Form answerForm = searchForm.createAnswerForm();
answerForm.setAnswer("Username", true);
answerForm.setAnswer("search", user);
ReportedData data = search
.getSearchResults(answerForm, "search." + mXMPPConnection.getServiceName());
if (data.getRows() != null) {
for (ReportedData.Row row: data.getRows()) {
for (String value: row.getValues("jid")) {
Log.i("Iteartor values......", " " + value);
}
}
Toast.makeText(_service, "Username Exists", Toast.LENGTH_SHORT).show();
}
如果Server没有任何具有指定名称的条目,那么Iterator没有任何值,代码将不会进入(it.hasNext)..