ClassCastException podczas tworzenia pokoju MUC dla czatu grupowego XMPP za pomocą aSmack
ja używamaSmack
do tworzenia aplikacji do czatu. Kiedy tworzęgroupchat
używając tegoaSmack
daje błąd. to jest kod, którego używam do tworzeniaGroupChat
.
MultiUserChat muc = new MultiUserChat(connection, "[email protected]");
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();
}
To jest jar, którego używam do aSmackasmack-2010.05.07.jar
. obsługuje facebook xmpp, Gtalk xmpp i mój własny serwer xmpp. Teraz chcę utworzyć czat grupowy dla mojego własnego serwera, ale podaje ten błąd.
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)
Wiele przeszukałem, ale wciąż nie miałem pojęcia, jak to rozwiązać.
Każda pomoc byłaby doceniana, zanim wyciągnę włosy.