Android与Smack– 如何获取在线用户列表?

Android与Smack– 如何获取在线用户列表?,第1张

概述我正在使用jivesoftwareSmackSDk进行实时聊天功能.为了创建连接,我使用以下代码,XMPPTCPConnectionConfiguration.Builderconfig=XMPPTCPConnectionConfiguration.builder();config.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);config.set

我正在使用jivesoftware Smack SDk进行实时聊天功能.
为了创建连接,我使用以下代码,

XMPPTCPConnectionConfiguration.Builder config = XMPPTCPConnectionConfiguration.builder();    config.setSecurityMode(ConnectionConfiguration.SecurityMode.Disabled);    config.setServicename("world-pc");    config.setHost(serverAddress);    config.setPort(5222);    config.setDeBUGgerEnabled(true);    XMPPTCPConnection.setUseStreamManagementResumptiodDefault(true);    XMPPTCPConnection.setUseStreamManagementDefault(true);    connection = new XMPPTCPConnection(config.build());    XMPPConnectionListener connectionListener = new XMPPConnectionListener();    connection.addConnectionListener(connectionListener);    connection.connect();    connection.login("username","password");

它的工作非常好.@H_403_11@现在问题是,我希望获得特定用户的在线状态或获取所有在线用户的列表.@H_403_11@我从堆栈溢出尝试了很多解决方案,但没有什么对我有用.@H_403_11@我试过的解决方案之一是,

Presence presence = new Presence(Presence.Type.available);connection.sendPacket(presence);Roster roster = xmppConnection.getRoster();Collection<RosterEntry> entrIEs = roster.getEntrIEs();Presence presence;for(RosterEntry entry : entrIEs) {presence = roster.getPresence(entry.getUser());System.out.println(entry.getUser());System.out.println(presence.getType().name());System.out.println(presence.getStatus()); }

这会返回一个列表,但所有用户的状态为null.@H_403_11@请有人帮我准确解决方案.

谢谢

解决方法:

您可以使用Presence.Type.subscribe来了解(作为用户)另一个用户的状态:

Presence subscribe = new Presence(Presence.Type.subscribe);subscribe.setTo('another_user@example.com');connection.sendPacket(subscribe);

并且“another_user”应以同样的方式批准您的请求:

Presence subscribe = new Presence(Presence.Type.subscribe);subscribe.setTo('another_user@example.com');connection.sendPacket(subscribe);
总结

以上是内存溢出为你收集整理的Android与Smack – 如何获取在线用户列表?全部内容,希望文章能够帮你解决Android与Smack – 如何获取在线用户列表?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1108562.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存