【问题标题】:Smack API User searchSmack API 用户搜索
【发布时间】:2011-10-19 08:30:18
【问题描述】:

我正在尝试在我工作的基于 Smack-API 的 jabber 客户端之上实现用户搜索。它可以使用以下方式创建用户:

AccountManager manager = conn.getAccountManager();
manager.createAccount(usename,password);

但是我需要添加一个功能,在创建帐户之前首先搜索“现有”用户,但我找不到任何直接的方法来做到这一点。任何人都可以给我提示吗?

谢谢。

【问题讨论】:

    标签: xmpp smack


    【解决方案1】:

    虽然您实际上不再需要您请求的功能(根据您自己的回答),但我还是会回答原始问题以供将来参考。

    Smack 中有一个名为 UserSearchManager 的类可用于此目的。

    【讨论】:

    • 我可能需要使用UserSearchManager,因为我需要检查电子邮件地址是否已经存在于数据库中,因为我需要通过电子邮件注册。但是对于我发布的问题,它实际上只是关于 createAccount() 函数。
    【解决方案2】:

    显然,需要的只是在 XMPPException 中捕获错误代码 409,因为如果用户存在,createAccount 会抛出异常。

    【讨论】:

    • 错误捕获如下-----if(e.getXMPPError().equals(XMPPError.Condition.conflict)){...}
    【解决方案3】:

    最简单的方法是以用户身份登录一次,无需发送出席信息。一般而言,我们会尝试找出您可以在无需以用户身份登录的情况下回答此问题的所有方法,并消除它们,以帮助防止垃圾邮件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-21
      相关资源
      最近更新 更多