java - 用户的 XMPP 名册 getPresence 状态 (java)

标签 java android xmpp user-presence rostering

我正在使用此代码获取用户的在线状态

   Roster roster = connection.getRoster();
   Presence userPresence = roster.getPresence(name + "@" + HOST);

但是 userPresence 总是返回 "unavailable" 尽管用户在线。 那么我做错了什么,如何获得用户的状态?

最佳答案

首先尝试使用

在 Collection 中获取 RosterEntries
Collection<RosterEntry> collection = roster.getEntries();

然后尝试遍历每个条目并检查是否存在

for (RosterEntry rosterEntry : collection)
  {
    Presence presence = null;
    presence = roster.getPresence(rosterEntry.getUser());

    if(presence.isAvailable())
    {
      //Do Something
    }
    else{
      //Do Something else
    }
  }

关于java - 用户的 XMPP 名册 getPresence 状态 (java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35739866/

相关文章:

java - SharedPreferences Android 中奇怪的无法解释的行为

android - 谷歌地图添加标记

google-app-engine - 注册应用程序时自动订阅用户

ios - 如何一次为很多文件添加 -fobjc-arc

java - 命令在终端中有效但在脚本中无效?

java - 如何设置某种类型的空列表

Java(openjdk版本 "1.8.0_151",linux)内存中有数百万条记录。经常添加和请求排序数据

java - 当内存增强器杀死我的应用程序时,它会强制关闭

ios - 在 XMPP 和 django 之间同步用户

java - 使用 Java Neo4j Rest Api 进行身份验证以访问服务器