7

我正在使用 asmack 作为库并在 android 平台上开发一个聊天应用程序。有什么方法可以在添加好友之前检查服务器上是否存在好友?

4

1 回答 1

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 没有任何具有该指定名称的条目,则 Itaerator 它没有任何值,并且代码不会进入 while(it.hasNext)..

于 2013-01-08T12:05:37.370 回答