Android xmpp查询用户(模糊查询)
此处以smack:4.3.4版本为例,介绍直接根据用户名通过xmpp模糊查询用户。
我们先来看看查询的效果
查询的方法实现
本例用的smack:4.3.4版本,getSearchForm和getSearchResults方法传的是DomainBareJid类型,而之前的版本是String类型,大家在使用的时候需要特别注意,而转换DomainBareJid的方式如下面的例子所示:JidCreate.domainBareFrom(“search.” + getConnection().getXMPPServiceDomain())。
/**
* 查询用户
*
* @param userName userName
* @return List<HashMap < String, String>>
*/
public List<UserInfo> searchUsers(String userName) {
if (getConnection() == null) {
return null;
}
UserInfo user; //自定义的用户实体类
List<UserInfo> userInfos = new ArrayList<>();
try {
UserSearchManager usm = new UserSearchManager(getConnection());
//本例用的smack:4.3.4版本,getSearchForm方法传的是DomainBareJid类型,而之前的版本是String类型,大家在使用的时候需要特别注意