xmpp连接Android Studio中的NetworkOnMainThreadException

xmpp连接Android Studio中的NetworkOnMainThreadException,android,xmpp,Android,Xmpp,我正在修改一个Android应用程序。当我运行应用程序时,所有功能都可以正常工作。但是,在后端,我遇到了以下错误: 4008-4008/com.it.testApp W/System.err: android.os.NetworkOnMainThreadException 错误行是chatServise.java: BaseActivity.xmppConnection.disconnect(); BaseActivity.xmppConnection = null; 我正在使用xmpp和s

我正在修改一个Android应用程序。当我运行应用程序时,所有功能都可以正常工作。但是,在后端,我遇到了以下错误:

4008-4008/com.it.testApp W/System.err: android.os.NetworkOnMainThreadException
错误行是chatServise.java:

BaseActivity.xmppConnection.disconnect();
BaseActivity.xmppConnection = null;
我正在使用xmpp和smack进行聊天服务

应用程序正在其他类中使用这段代码,没有问题。当我问开发团队时,他们告诉我这与项目设置有关。该应用程序在所有其他方面都运行良好。我不知道如何解决这个问题。有人能帮忙吗

我的代码在以前的开发人员系统中工作得非常好。但他不会帮我的。他只说了“你必须在服务器节点上设置,并且需要进行连接” 我不知道如何从android studio连接到node.js, 我花了3天时间在这上面,但我找不到解决办法。有人能帮忙吗

我正在添加完整堆栈跟踪

05-25 11:51:46.433 3845-3845/com.it.示例D/SMACK:11:51:46 AM连接关闭(301630643) 05-25 11:51:46.433 3845-1453/com.it.示例D/SMACK:11:51:46 AM发送(301630643): 05-25 11:51:46.584 3845-3845/com.it.example W/System.err:android.os.NetworkOnMainThreadException 05-25 11:51:46.594 3845-3845/com.it.example W/System.err:at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1147) 05-25 11:51:46.594 3845-3845/com.it.example W/System.err:在com.android.org.conscret.OpenSSLSocketImpl.shutdown和freeslsnative(OpenSSLSocketImpl.java:1090) 05-25 11:51:46.594 3845-3845/com.it.example W/System.err:位于com.android.org.conscrypt.OpenSSLSocketImpl.close(OpenSSLSocketImpl.java:1085) 05-25 11:51:46.594 3845-3845/com.it.example W/System.err:at org.jivesoftware.smack.XMPPConnection.shutdown(XMPPConnection.java:456) 05-25 11:51:46.594 3845-3845/com.it.example W/System.err:at org.jivesoftware.smack.XMPPConnection.disconnect(XMPPConnection.java:482) 05-25 11:51:46.594 3845-3845/com.it.example W/System.err:at org.jivesoftware.smack.Connection.disconnect(Connection.java:490) 05-25 11:51:46.594 3845-3845/com.it.example W/System.err:at com.it.example.util.ChatService.onStart(ChatService.java:49) 05-25 11:51:46.594 3845-3845/com.it.example W/System.err:at-android.app.Service.onStartCommand(Service.java:458) 05-25 11:51:46.594 3845-3845/com.it.example W/System.err:位于android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2904) 05-25 11:51:46.594 3845-3845/com.it.example W/System.err:位于android.app.ActivityThread.access$2100(ActivityThread.java:144) 05-25 11:51:46.594 3845-3845/com.it.example W/System.err:at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1386) 05-25 11:51:46.594 3845-3845/com.it.example W/System.err:at android.os.Handler.dispatchMessage(Handler.java:102) 05-25 11:51:46.594 3845-3845/com.it.example W/System.err:at android.os.Looper.loop(Looper.java:135) 05-25 11:51:46.594 3845-3845/com.it.example W/System.err:位于android.app.ActivityThread.main(ActivityThread.java:5311) 05-25 11:51:46.594 3845-3845/com.it.example W/System.err:at java.lang.reflect.Method.invoke(本机方法) 05-25 11:51:46.594 3845-3845/com.it.example W/System.err:at java.lang.reflect.Method.invoke(Method.java:372) 05-25 11:51:46.594 3845-3845/com.it.example W/System.err:at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908)
05-25 11:51:46.594 3845-3845/com.it.example W/System.err:at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703)我认为,如果您在主线程中运行网络操作,则错误是不言自明的。
您应该允许所有线程,或者找到一种更新、更有效的方式来运行线程。
创建活动时使用以下代码:

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);


看。此问题实际上应标记为重复。

您是否在SO?backend或background/log?background log中搜索了您的问题?我收到此错误。解决方法不好,但对快速测试某些内容非常有用。非常感谢。