无法使用 asmack 版本 asmack-android-8-4.0.6.jar 在 xmpp 中返回组列表

Posted

技术标签:

【中文标题】无法使用 asmack 版本 asmack-android-8-4.0.6.jar 在 xmpp 中返回组列表【英文标题】:Unable to return group list in xmpp with asmack version asmack-android-8-4.0.6.jar 【发布时间】:2014-12-03 05:53:27 【问题描述】:

我无法从 XMPP 获取带有 asmack 版本 asmack-android-8-4.0.6.jar 的组列表我尝试了所有可能的方法从 xmpp 获取组名,我能够进入 Pidjin clinet 但无法要使用 asmack,这里是用于获取组列表的代码

Collection<RosterGroup> entriesGroup = roster.getGroups();
List<String> joinedRooms = MultiUserChat.getJoinedRooms(DataManager.xmppConnection,DataManager.xmppConnection.getUser());

【问题讨论】:

【参考方案1】:
List<String> serviceNames = (List<String>) MultiUserChat.getServiceNames(DataManager.xmppConnection);
                for (String servcieName : serviceNames) 
                    Log.i(TAG,"Servcie name "+servcieName);
                
                //List<String> joinedRooms = MultiUserChat.getJoinedRooms(DataManager.xmppConnection, DataManager.xmppConnection.getUser());
                List<HostedRoom> hostedRooms = (List<HostedRoom>) MultiUserChat.getHostedRooms(DataManager.xmppConnection, serviceNames.get(0));

上面的代码可以从 xmpp 获取组名,非常糟糕的是 smack 没有很好的支持

【讨论】:

以上是关于无法使用 asmack 版本 asmack-android-8-4.0.6.jar 在 xmpp 中返回组列表的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Android 上使用 asmack 登录 Facebook

无法使用 android 的 asmack 库登录 google talk

无法使用 aSmack 连接到本地 XMPP 服务器

无法使用 Beem-Asmack 在 XMPP FileTransfer 中处理上传

无法使用 Asmack 连接到我的 ejabberd 服务器

无法注册新用户 android asmack “无法生成验证码”