Roster.getEntries用asmack返回0

时间:2015-10-19 09:00:21

标签: android xmpp openfire asmack

我创建了sendchat短信,但是我无法通过使用名册方法获得其他用户的状态。

Roster roster = connection.getRoster();

                Log.e("entry count",""+roster.getEntryCount());

                Collection<RosterEntry> entries = roster.getEntries();
                Log.e("Roster Entries",""+roster.getEntries().size());
                for (RosterEntry entry : entries) {
                    Presence.Type type = entryPresence.getType();
                    if (type == Presence.Type.available)
                        Log.e("XMPPChatDemoActivity", "Presence AVIALABLE");                
                }



            } catch (XMPPException ex) {

                setConnection(null);

}

2 个答案:

答案 0 :(得分:1)

您需要添加:

If(!Roster.IsLoaded()) 
   Roster.reloadAndWait();

行前:

Collection<RosterEntry> entries = roster.getEntries();

答案 1 :(得分:0)

未将用户添加到名单列表中。在仅将用户添加到名单列表后,我们可以获取用户详细信息。