我正在使用 Smack 库开发 IM 应用程序,但遇到了一些问题。
我想知道是否可以通过服务器中的用户名检查用户是否存在。我的应用程序必须检查系统联系人列表中的人是否在我的服务器中开设了一个帐户,并且他们不在他们的朋友列表中。
到目前为止,我设法将系统联系人列表中的每个联系人添加到我的用户的服务器联系人列表中——即使他们事先没有帐户——但这不是我想要的。
这是代码(Contact 就像 Smack 的 RosterEntry 的包装类):
public void addAllContactsIfExisting(Contact[] contactsAgenda) {
for (Contact contact: contactsAgenda) {
if (!isContactMyFriend(contact)) {
try {
// I'd like to check for account existence here, being contact.getJid() the username as it'd be in the server
conn.getRoster().createEntry(contact.getJid(), contact.getName(), null);
} catch (XMPPException e) {
e.printStackTrace();
}
}
}
}
如果有帮助,我目前正在使用 Openfire 作为服务器。