
Caused by: android.os.NetworkOnMainThreadException
发布日期:2021-05-04 16:26:27
浏览次数:19
分类:技术文章
本文共 3370 字,大约阅读时间需要 11 分钟。
问题:
Caused by: android.os.NetworkOnMainThreadException
at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1448) at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:102) at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:90) at java.net.InetAddress.getAllByName(InetAddress.java:787) at com.android.okhttp.Dns$1.lookup(Dns.java:39) at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:175) at com.android.okhttp.internal.http.RouteSelector.nextProxy(RouteSelector.java:141) at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:83) at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:174) at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:126) at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:95) at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:281) at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:224) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:461) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:407) at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:244) at java.net.URL.openStream(URL.java:1058) at kotlin.io.TextStreamsKt.readBytes(ReadWrite.kt:144) at com.easy.kotlin.bean.MovieContent.<init>(MovieContent.kt:18) at com.easy.kotlin.bean.MovieContent.<clinit>(MovieContent.kt:10) at com.easy.kotlin.MovieListActivity.setupRecyclerView(MovieListActivity.kt:37) at com.easy.kotlin.MovieListActivity.onCreate(MovieListActivity.kt:33) at android.app.Activity.performCreate(Activity.java:6975) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1213) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2770) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892) at android.app.ActivityThread.-wrap11(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593) at android.os.Handler.dispatchMessage(Handler.java:105) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6541) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)主线程不能访问网络,在访问网络的代码前面添加如下代码即可:
StrictMode.ThreadPolicy policy=new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);或者新开子线程(建议这种方法):
new Thread(new Runnable() {
@Override public void run() { Document doc = null; try { doc = Jsoup.connect("").get();// Jsoup是我用的一个牛叉的jar包 } catch (IOException e) { e.printStackTrace(); } Log.d("doc", doc.toString()+""); } }).start();There are two Solution of this Problem.
Don't write network call in Main UI Thread, Use Async Task for that.
Write below code into your MainActivity file after setContentView(R.layout.activity_main);
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); } And below import statement into your java file.发表评论
最新留言
感谢大佬
[***.8.128.20]2025年03月25日 18时46分53秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
python之面向对象编程
2019-03-01
python之集合类型内置方法
2019-03-01
编程与编程语言分类
2019-03-01
【 UVA - 572 】 Oil Deposits (DFS水题)
2019-03-01
约瑟夫环问题
2019-03-01
CF #716 (Div. 2) B. AND 0, Sum Big(思维+数学)
2019-03-01
Java 設計模式 - 建造者模式
2019-03-01
ES6 JavaScript 重新認識 Promise
2019-03-01
2020-07-16:如何获得一个链表的倒数第n个元素?
2019-03-01
2021-01-21:java中,HashMap的读流程是什么?
2019-03-01
Imagination官方信息速递2021年光线追踪专刊
2019-03-01
webpack01 -- webpack安装和配置
2019-03-01
分享九款不同页面404源码html
2019-03-01
404页圈小猫游戏代码
2019-03-01
好看清新卡通人物404单页网站源码
2019-03-01
简洁仿t猫404页html源码
2019-03-01
Kotlin实现冒泡排序
2019-03-01
NodeJS下TypeScript环境安装
2019-03-01