【问题标题】:How to get list of offline/online users in chat by using smack api in android如何在 android 中使用 smack api 获取聊天中的离线/在线用户列表
【发布时间】:2014-01-26 06:46:54
【问题描述】:

我正在使用 xmpp 和 smack api 在 android 中编写一个聊天应用程序。当我输入特定朋友的电子邮件 ID 以发送聊天时,聊天工作成功。但我无法获取离线/在线用户列表。请建议如何使用 xmpp smack 获取用户列表 ..?

【问题讨论】:

    标签: java android livechat


    【解决方案1】:

    您必须创建一个 listView 以获取用户列表并尝试此代码

     public static  ArrayList<HashMap<String, String>> usersList=new ArrayList<HashMap<String, String>>();
    
    
                Presence presence = new Presence(Presence.Type.available);
                Constants.connection.sendPacket(presence);
                setConnection(Constants.connection);
    
                final Roster roster = Constants.connection.getRoster();
                Collection<RosterEntry> entries = roster.getEntries();
    
                for (RosterEntry entry : entries) {
    
                        HashMap<String, String> map = new HashMap<String, String>();
                        Presence entryPresence = roster.getPresence(entry.getUser());
    
                        Presence.Type type = entryPresence.getType();       
    
                        map.put("USER", entry.getName().toString());
                        map.put("STATUS", type.toString());
                        Log.e("USER", entry.getName().toString());
    
                        usersList.add(map);
    
                }
    

    然后将您的 userList 添加到您的 ListAdapter 并检查 STATUS 是否等于 'avialable' 然后用户在线,否则用户离线。

    【讨论】:

    • 能否提供一些链接或演示。如果可能的话?
    • 不,亲爱的,没有任何演示,你必须自己做。
    • @RishabhSrivastava- 常量是常量类,没关系。您可以在自己的类中添加变量。
    • 使用相同的代码但不显示在线 user.plz 帮助
    猜你喜欢
    • 2013-04-05
    • 2015-10-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多