【发布时间】:2014-03-11 12:22:17
【问题描述】:
我有一个基于 asmack 的客户端,我连接并进行身份验证,然后我获取一个名册,我将一个侦听器附加到该名册并设置自己可用。
在我连接后,侦听器正确地接收到对状态所做的任何更改,但是我找不到获取我名单上所有条目当前状态的方法。
我尝试发送Presence.Type.subscribe 数据包,我尝试使用Roster#reload() 并且我尝试了以下方法:
for (RosterEntry entry : mRoster.getEntries()) {
Presence presence = mRoster.getPresence( entry.getUser() );
...
}
(如果我在上面记录存在对象,它们都显示为“不可用”)
当我从Roster#reload 获得回调时,我还尝试在entriesUpdated 内尝试mRoster.getPresence(handle),并且在循环遍历Roster#getEntries 时分别尝试,我得到了有效的用户ID,但存在模式为null,并且类型对于每个人都不可用进入
有没有办法提示服务器向我发送当前的远程信息?
【问题讨论】: