gpt4 book ai didi

android - aSmack + Android : MultiUserChat class; getMembers, getModerators 等不工作?

转载 作者:搜寻专家 更新时间:2023-11-01 08:09:16 25 4
gpt4 key购买 nike

我正在使用 aSmack(适用于 Android 的 Smack 端口)连接到 XMPP 服务器(Openfire 3.7.1)并与之通信。就使用 MultiUserChat 类发送消息而言,我可以获得多用户聊天功能。但是,调用任何列出房间居住者的方法都会失败。相关代码:

setDefaultConnection();
if(connection!=null) {
mMuc = new MultiUserChat(connection, "hermitage_recycling@conference.jmartinw7");
try {
mMuc.join("chester");
mMuc.getModerators(); //line 71
ArrayList<Affiliate> dudes = new ArrayList<Affiliate>(mMuc.getMembers());
Iterator<Affiliate> iter = dudes.iterator();
while(iter.hasNext()) {
Affiliate dude = iter.next();
Log.w(this.getClass().getName(), dude.getNick());
}
} catch(XMPPException xmppe) {
Log.w(this.getClass().getName(), "MUC error: "+xmppe.getMessage());
}
}

日志:

07-10 13:38:56.248: ERROR/AndroidRuntime(13003): FATAL EXCEPTION: main
java.lang.ClassCastException: org.jivesoftware.smack.util.PacketParserUtils$2
at org.jivesoftware.smackx.muc.MultiUserChat.getOccupants(MultiUserChat.java:1797)
at org.jivesoftware.smackx.muc.MultiUserChat.getModerators(MultiUserChat.java:1761)
at org.apache.android.xmpp.XMPPClient$1.onClick(XMPPClient.java:71)
at android.view.View.performClick(View.java:2532)

库有问题还是我做错了什么? getOc​​cupants() 似乎有效。

MultiUserChat 示例和 javadocs:
http://www.igniterealtime.org/builds/smack/docs/latest/javadoc/
http://www.igniterealtime.org/builds/smack/docs/latest/documentation/extensions/index.html

打个响指:
http://code.google.com/p/asmack/
http://code.google.com/p/asmack/issues/detail?id=72

最佳答案

我相信您的问题是由 asmack 加载 smack.providers 文件失败引起的,该文件告诉 asmack 要加载哪些类。如果您阅读自述文件,它描述了如何将 smack.providers 文件加载到 asmack(感谢 Flow)。您需要在开始任何 XMPP Activity 之前执行此操作。

尝试 https://github.com/Flowdalic/asmack ,因为您正在使用的版本已经 2 年没有更新了。

关于android - aSmack + Android : MultiUserChat class; getMembers, getModerators 等不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11420514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com