Android NetworkOnMainThreadException异常处理

开发中碰到这个问题,代码是无误的,在低版本的API上都可以运行的,但在3.0以上的版本就会出现NetworkOnMainThreadException

原因:不允许在主线程中进行网络访问

API文档如下:

Android NetworkOnMainThreadException异常处理_第1张图片

1. 在发起Http请求的Activity里面的onCreate函数里面添加如下代码

//详见StrictMode文档
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects().detectLeakedClosableObjects().penaltyLog().penaltyDeath().build());

2. 开启子线程发送Http请求(推荐)


你可能感兴趣的:(Android NetworkOnMainThreadException异常处理)