XMPP Android - 无法创建多用户聊天
我正在使用 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) ....
谁能帮我解决这个bug?谢谢!
I'm using asmack lastest version (now). And I can't create a MultiUserChat on Android.
This is what I get in the log:
E/AndroidRuntime( 558): java.lang.ClassCastException:
org.jivesoftware.smack.packet.DefaultPacketExtension E/AndroidRuntime(
558): at
org.jivesoftware.smackx.muc.MultiUserChat.getMUCUserExtension(MultiUserChat.java:2000)
E/AndroidRuntime( 558): at
org.jivesoftware.smackx.muc.MultiUserChat.create(MultiUserChat.java:364)
....
Who can help me solve this bug? Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
直接使用
muc.join();
代替首先使用muc.create
use
muc.join();
directly insted of first usingmuc.create
Google 是您的朋友,至少是在 jive 社区论坛上快速搜索。
我认为您有 忘记注册 XMPP 扩展的提供程序。 这通常由 smack 通过配置文件完成,但在 Android 上使用 asmack 无法完成此过程,因此您需要显式执行此操作。
Google is your friend, at least a quick search on the jive community forums.
I think that you have forgotten to register the Providers for XMPP Extensions. This gets normally done by smack via a config file, but this process is not possible on Android with asmack, so you need to do it explicitly.
当你想使用 smack 创建一个 MultiUserChat 时,也许你会遇到一些错误!
我建议你在 Android 上使用 asmack 而不是 smack!
你可以从github获取asmack,https://github.com/flowdalic/asmack!
在使用之前,您必须确保已阅读README.md!
当你想在每个活动中调用 api 时!你应该调用
SmackAndroid.init(context)
首先!祝你好运!
除此之外,当您想创建多用户聊天时,请务必确保您的房间名称不包含空白,否则您可能会遇到奇怪的错误!
when you want to create a MultiUserChat using smack, maybe you would come across some error!
I suggested you to use asmack instead of smack on Android!
you can get the asmack from github,https://github.com/flowdalic/asmack!
you must make sure that you have red the README.md before you use it!
when you want to call the api in every activity!you should call
SmackAndroid.init(context)
firstly!good luck!
besides that you much make sure that your room's name do not contain blank,when you want to create a multiuserchat or you maybe get odd errors!