2018 Спроба з'єднатися з сервером xmpp з asmack на ос android, не отримує мене - не вирішення

Я зробив це так просто, як я можу в коді. Я використовую asmack бібліотеку для андроїда в версії 8-0.8.3.

Це не заморозити моє додаток і викликати мене і помилок. немає дозволу DNS активне. Там немає нічого в Інтернеті про нього.

Я дуже сподіваюся отримати деяку допомогу або підказки.

Також намагався так:

приватний остаточний статичну рядок server_host = "jabber.org"; приватний остаточний статичний INT SERVER_PORT = 5222;

громадського недійсними xmppService () кидає XMPPException

Використання присмак бібліотеку замість asmack змушує мене та ж проблема. Я не отримую журнал помилок, але після відключення відладчика я отримую:

2018 Спроба з'єднатися з сервером xmpp з asmack на ос android, не отримує мене - не вирішення

Top 5 Respuesta

Я рекомендую використовувати Smack замість aSmack. Asmack являетсяпропатчен і поліпшена версія Смак і aSmack кілька мертвих. В Смак рефакторінга коду буде зроблено, додав деякі нові методи і рефакторингу класи DNS.

UPDATE Побачивши свою помилку увійти це, здається, проблема мережевого дзвінка на головному потоці призначеного для користувача інтерфейсу

Як вирішити NetworkOnMainThread виняток? Використання AsyncTask що робить мережеву виклик на іншому потоці (в фоновому режимі), а не на головному потоці програми.

Наведіть код для AsynTask. -

І тепер ви можете виконати свій AsyncTask. -

З цієї мережевий виклик буде виконаний у фоновому режимі в іншому потоці.

From the README

Для того, щоб коректно працювати на Android, вам необхідно зареєструватися плескати Провайдери XMPP і розширення вручну і режими деякі статичні код блоки перед вами робити будь-які XMPP activty. покликання SmackAndroid.init (Context) (в org.jivesoftware.smack) зробить це для вас.

Просто зателефонуйте SmackAndroid.init (Context). і ви все в порядку.

Це працює для мене:

останні питання

Схожі статті