android.os.NetworkOnMainThreadException

在android 2.3上设计的程序,在android 4.0上运行时报android.os.NetworkOnMainThreadException异常,原来在4.0中,访问网络不能在主程序中进行,有两个方法可以解决,一个是在主程序中增加:StrictMode,再来就是新建一个线程读取。

// 防止4.0不能在主线程调用网络访问。
if (Float.valueOf(android.os.Build.VERSION.RELEASE.substring(0, 3)) > 2.3) {
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects().penaltyLog().penaltyDeath().build());
}

原文地址:https://www.cnblogs.com/leestar54/p/3335963.html