Android 使用aSmack为XMPP群聊创建MUC聊天室时发生ClassCastException

Android 使用aSmack为XMPP群聊创建MUC聊天室时发生ClassCastException,android,xmpp,chatroom,Android,Xmpp,Chatroom,我正在使用aSmack创建聊天应用程序。当我使用此aSmack创建groupchat时,会出现错误。这是我用来创建GroupChat的代码 MultiUserChat muc = new MultiUserChat(connection, "xyz@abc.com"); try { muc.create(u_name); Form form = muc.getConfigurationForm();

我正在使用
aSmack
创建聊天应用程序。当我使用此
aSmack
创建
groupchat
时,会出现错误。这是我用来创建
GroupChat
的代码

MultiUserChat muc = new MultiUserChat(connection, "xyz@abc.com");           

try {
    muc.create(u_name);              
    Form form = muc.getConfigurationForm();              
    Form submitForm = form.createAnswerForm();               
    for (Iterator<FormField> fields = form.getFields(); fields.hasNext();) {
        FormField field = (FormField) fields.next();
        if (!FormField.TYPE_HIDDEN.equals(field.getType()) && field.getVariable() != null) {                 
            submitForm.setDefaultAnswer(field.getVariable());
        }
    }
    List<String> owners = new ArrayList<String>();
    Log.i(TAG, "list of owners=====" +owners.toString());
    owners.add(PmUser_name);
    submitForm.setAnswer("muc#roomconfig_roomowners", owners);               
    muc.sendConfigurationForm(submitForm);
} catch (XMPPException e) {          
    e.printStackTrace();
}
我已经搜索了很多次,但仍然不知道如何解决这个问题


在我拔出头发之前,任何帮助都将不胜感激。

Smack的数据包提供商未注册。由于Smack无法为MUC创建正确的数据包类实例,因此会得到一个
ClassCastException
。我建议您使用,并按照中的说明进行操作,这将为您初始化和注册提供程序

现在我可以创建房间了,但在该域的可用Hostedromm列表中看不到。我必须为此做些什么。如果你先投票选出帮助你解决问题的答案,并将其标记为接受,那将是礼貌的。另外,请不要在这里问不同的问题,而是创建一个新的问题。抱歉,Flow,我被接受并投票支持您的答案,您的答案对我有帮助,现在就指导如何解决我的问题,或者提供我将尝试解决的任何链接。please.hai,您能在这个多用户聊天中帮助我吗。我无法理解如何遵循来解决这个问题。我被困在使用xmpp创建groupchat的过程中。你能发布你的代码来说明如何创建聊天室和groupchat吗?
E/AndroidRuntime(31002): Caused by: java.lang.ClassCastException:   
org.jivesoftware.smack.packet.DefaultPacketExtension
E/AndroidRuntime(31002):    at  
org.jivesoftware.smackx.muc.MultiUserChat.getMUCUserExtension(MultiUserChat.java:2000)
E/AndroidRuntime(31002):    at    
org.jivesoftware.smackx.muc.MultiUserChat.create(MultiUserChat.java:364)