XMPP Android - 无法创建 MultiUserChat

Posted

技术标签:

【中文标题】XMPP Android - 无法创建 MultiUserChat【英文标题】:XMPP Android - Can't create MultiUserChat 【发布时间】:2011-05-13 00:41:28 【问题描述】:

我正在使用 asmack 最新版本(现在)。而且我无法在 android 上创建 MultiUserChat。

这是我在日志中得到的:

E/AndroidRuntime(558): java.lang.ClassCastException: org.jivesoftware.smack.packet.DefaultPacketExtension E/AndroidRuntime( 558): 在 org.jivesoftware.smackx.muc.MultiUserChat.getMUCUserExtension(MultiUserChat.java:2000) E/Android 运行时(558):在 org.jivesoftware.smackx.muc.MultiUserChat.create(MultiUserChat.java:364) ....

谁能帮我解决这个错误?谢谢!

【问题讨论】:

啊,你真的去看看 asmack 的源代码,看看有什么错误的吗? 【参考方案1】:

直接使用muc.join();,先使用muc.create

【讨论】:

【参考方案2】:

Google 是你的朋友,至少是 quick search on the jive community forums.

我认为你有forgotten to register the Providers for XMPP Extensions. 这通常由 smack 通过配置文件完成,但这个过程在带有 asmack 的 Android 上是不可能的,所以你需要明确地这样做。

【讨论】:

【参考方案3】:

当您想使用 smack 创建 MultiUserChat 时,可能会遇到一些错误! 我建议你在 Android 上使用 asmack 而不是 smack! 你可以从 github 获取 asmack,https://github.com/flowdalic/asmack! 在使用之前,您必须确保已将 README.md 设为红色! 当你想在每个活动中调用 api 时!你应该调用 SmackAndroid.init(context)先! 祝你好运!

除了你要确保你的房间名称不包含空白之外,当你想创建一个多用户聊天时,你可能会遇到奇怪的错误!

【讨论】:

以上是关于XMPP Android - 无法创建 MultiUserChat的主要内容,如果未能解决你的问题,请参考以下文章

Android 文件传输无法通过 XMPP 和 OpenFire 工作

Android/XMPP:连接类型更改后无法重新连接到服务器

无法将 Android 客户端与本地 XMPP 服务器连接

XMPP SMACK 文件接收无法在 android 上运行

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

如何创建nodejs xmpp服务器和android xmpp客户端