在org.jivesoftware.smack.SmackAndroid$1.onReceive接收广播意图时出错
我的asmack库有错误,请告诉我正确的asmack库版本和下载地址,或者告诉我其他解决方案。多谢各位 应用程序中偶尔出现回闪。有关详细信息,请参见代码和图片说明。(Lookup.refreshDefault)与网络操作相关,主线程无法执行网络操作,onReceive方法应启动一个新线程,但我找不到asmack库源代码,代码无法修改,我仅使用类文件。请有经验的开发人员告诉我如何解决这个问题在org.jivesoftware.smack.SmackAndroid$1.onReceive接收广播意图时出错,android,asmack,Android,Asmack,我的asmack库有错误,请告诉我正确的asmack库版本和下载地址,或者告诉我其他解决方案。多谢各位 应用程序中偶尔出现回闪。有关详细信息,请参见代码和图片说明。(Lookup.refreshDefault)与网络操作相关,主线程无法执行网络操作,onReceive方法应启动一个新线程,但我找不到asmack库源代码,代码无法修改,我仅使用类文件。请有经验的开发人员告诉我如何解决这个问题 android.os.NetworkOnMainThreadException at androi
android.os.NetworkOnMainThreadException
at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1273)
at java.net.InetAddress.lookupHostByName(InetAddress.java:431)
at java.net.InetAddress.getAllByNameImpl(InetAddress.java:252)
at java.net.InetAddress.getByName(InetAddress.java:305)
at org.xbill.DNS.SimpleResolver.<init>(SimpleResolver.java:56)
at org.xbill.DNS.SimpleResolver.<init>(SimpleResolver.java:68)
at org.xbill.DNS.ExtendedResolver.<init>(ExtendedResolver.java:266)
at org.xbill.DNS.Lookup.refreshDefault(Lookup.java:86)
at org.jivesoftware.smack.SmackAndroid$1.onReceive(SmackAndroid.java:26)
at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:879)
android.os.NetworkOnMainThreadException
在android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1273)
位于java.net.InetAddress.lookupHostByName(InetAddress.java:431)
位于java.net.InetAddress.getAllByNameImpl(InetAddress.java:252)
位于java.net.InetAddress.getByName(InetAddress.java:305)
位于org.xbill.DNS.SimpleResolver。(SimpleResolver.java:56)
位于org.xbill.DNS.SimpleResolver。(SimpleResolver.java:68)
位于org.xbill.DNS.ExtendedResolver。(ExtendedResolver.java:266)
位于org.xbill.DNS.Lookup.refreshDefault(Lookup.java:86)
位于org.jivesoftware.smack.SmackAndroid$1.onReceive(SmackAndroid.java:26)
在android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:879)中
当您尝试在UI或主线程上访问internet时,出现此NetworkOnMainThread异常 要在android应用程序中访问internet,您需要创建一个异步任务或服务 在活动中创建异步任务
class Refresh extends AsyncTask<Void, Void, Void> {
protected Void doInBackground(String... params) {
Lockup.refreshDefault();
}
}
类刷新扩展了异步任务{
受保护的Void doInBackground(字符串…参数){
Lockup.refreshDefault();
}
}
并替换Lockup.refreshDefault()代码>此行带有新刷新().execute()代码>
希望能有帮助