XMPP Android - не удается создать MultiUserChat

Я использую последнюю версию asmack (сейчас). И я не могу создать MultiUserChat на Android.

Вот что я получаю в журнале:

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): в org.jivesoftware.smackx.muc.MultiUserChat.create(MultiUserChat.java:364) ....

Кто может помочь мне решить эту ошибку? Спасибо!


person Huỳnh Ngọc Bang    schedule 13.05.2011    source источник
comment
Ах, вы действительно посмотрели исходный код asmack и увидели, что было неправильно использовано?   -  person Femi    schedule 13.05.2011


Ответы (3)


используйте muc.join(); непосредственно вместо первого использования muc.create

person Jaspreet    schedule 10.10.2011

Google — ваш друг, по крайней мере, быстрый поиск на форумах сообщества jive.

Я думаю, что вы забыли зарегистрировать провайдеров для расширений XMPP. Обычно это делается smack через файл конфигурации, но этот процесс невозможен на Android с asmack, поэтому вам нужно сделать это явно.

person Flow    schedule 11.10.2011

когда вы хотите создать MultiUserChat с помощью smack, возможно, вы столкнетесь с какой-то ошибкой! Я предложил вам использовать asmack вместо smack на Android! вы можете получить asmack из github,https://github.com/flowdalic/asmack! вы должны сделать убедитесь, что у вас есть README.md, прежде чем использовать его! когда вы хотите вызывать API в каждом действии! вы должны сначала вызвать SmackAndroid.init(context)! удачи!

кроме того, вы должны убедиться, что имя вашей комнаты не содержит пробелов, когда вы хотите создать многопользовательский чат, или вы можете получить странные ошибки!

person minicaptain    schedule 14.08.2013