android - 我无法从当前添加的用户获取昵称

标签 android xmpp openfire asmack

我是阿斯马克的新人。我正在编写一个聊天应用程序,当我通过向他/她发送订阅数据包并他接受来添加用户时,我检查 openFire 服务器 nikename 和其他属性对于新用户来说是否正常,并且模式都是两者。

但是当我尝试获取好友数据时,昵称为空。

如果我调试代码昵称正确接收但在运行模式下不能?

接收好友的代码:

 public static void getContacts(final Context ctx)
    {
    try
    {
        try
        {
              Thread.sleep(1000);
        }
        catch(Exception ex)
        {

        }
        Roster roster = connection.getRoster();

        Collection<RosterEntry> entries = roster.getEntries();
        if(globalVars.friends == null)
            globalVars.friends = new ArrayList<globalVars.UserList>();
        globalVars.friends.clear();

        for(RosterEntry entry: entries)
        {
            String user = entry.getUser();
            String username = user.split("@")[0];
            Presence presence =  roster.getPresence(entry.getUser());
            int status = R.drawable.offline;
            if(presence.getType().equals(Presence.Type.available))
                status = R.drawable.online;
            //String fromto = presence.getFrom() + "   "+presence.getTo();
            globalVars.UserList ul = new UserList(username, status, globalVars.smallImageAddress(ctx, username));

            String wathsUp = "";

            try
            {
                if(presence.getStatus() != null)
                    wathsUp = presence.getStatus();
            }
            catch(Exception ex)
            {

            }
            ul.setComment(wathsUp);
            ul.setFriend(true);
            ul.setNikName(entry.getName());

            globalVars.friends.add(ul);
        }

谁能帮我吗?

最佳答案

使用 vCard 设置用户的昵称或其他详细信息。 使用此代码从 jid 获取 Vcard 信息

VCard mVCard = new VCard();

mVCard.load(your xmppconnection,user jid);
String name = mVCard.getNickName();

关于android - 我无法从当前添加的用户获取昵称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24854172/

相关文章:

android - 通过 GCM 和 xmpp 输入状态/在线状态

java - aSmack muc.getMembers() 禁止 (403) OPENFIRE

android - 禁用拼写检查器但保留建议

java - Android Studio位置状态不一致

android - 如何重组布局以使其更好?

ruby-on-rails - 获取在线用户 XMPP4r + Rails

xmpp - 匿名用户如何在 Jabber (Ejabberd) 上与有效用户交换在线状态信息

java - 检查字符串是否为空不起作用

ios - 当应用程序在后台时,如何在 IOS 应用程序中保持 XMPP 连接?

javascript - 在 XMPP pubsub 中,订阅者是否可以检索订阅列表或将其与 MUC 结合?