异常:android.os.NetworkOnMainThreadException
来源:互联网 发布:想在淘宝直播 编辑:程序博客网 时间:2024/04/30 06:43
今天在MainActivity中通过HttpURLConnection来向服务器发送请求访问服务器资源时,报出android.os.NetworkOnMainThreadException异常,经过网上查找资料后发现是因为版本问题,在4.0之后不允许在主线程中做一些类似于访问网络这样会耗时的操作,Android 4.0版本之后如果在主线程如果执行Http请求都会报这个错,解决方案暂时总结如下两种:
一:
在onCreat方法中添加如下代码:
//4.0之后才有下面的方法StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build());StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects().detectLeakedClosableObjects().penaltyLog().penaltyDeath().build());二:
修改项目的AndroidManifest.xml文件,将最小支持的版本修改为9之前的版本(自己测试10也就是2.3.3还是会报错)
<uses-sdk android:minSdkVersion="8" />
三:
将访问服务器的操作放到子线程中去运行。
目前正在摸索学习中,对错误的解决能力有限,可能还会有别的解决方法,暂时先列出这三点,后面遇到再来补充。
0 0
- android.os.NetworkOnMainThreadException异常
- 异常:android.os.NetworkOnMainThreadException
- android.os.NetworkOnMainThreadException异常
- 异常:android.os.NetworkOnMainThreadException
- 异常android.os.NetworkOnMainThreadException
- 异常:android.os.NetworkOnMainThreadException
- 异常:android.os.NetworkOnMainThreadException
- android.os.NetworkOnMainThreadException异常
- 异常:android.os.NetworkOnMainThreadException
- 异常:android.os.NetworkOnMainThreadException
- android.os.NetworkOnMainThreadException异常
- 异常:android.os.NetworkOnMainThreadException
- android.os.NetworkOnMainThreadException异常
- android.os.NetworkOnMainThreadException异常
- android.os.NetworkOnMainThreadException异常
- 异常:android.os.NetworkOnMainThreadException
- android.os.NetworkOnMainThreadException异常
- android.os.NetworkOnMainThreadException异常
- [BZOJ2464]中山市选[2009]小明的游戏
- 黑马程序员——IO之字符流,字节流,转换流
- hdu-2682Tree(prim+素数打表)
- [LeetCode]5.Longest Palindromic Substring
- C# ListView用法详解
- 异常:android.os.NetworkOnMainThreadException
- Opencv初级图像混合
- 瞎玩 - 一瓶啤酒2块,两个瓶盖送一瓶,四个空瓶换一瓶。20元一共可以喝几瓶
- 欢迎使用CSDN-markdown编辑器
- android菜鸟进阶之路——发送短信与接收短信
- KMP算法
- 华为机试:计算两个字符串的最大公共字串的长度,字符不区分大小写
- IOS square类集成rectangl类 计算面积和周长
- [C语言][LeetCode][34]Search for a Range