Android之如何解决android.os.NetworkOnMainThreadException的异常

网友投稿 1013 2022-05-28

android.os.NetworkOnMainThreadException

首先从字面的意思理解为网络工作在主线程的异常,也就是说网络请求不能在主线程里面

android4.0以后不能在主线程发起网络请求,该异步网络请求。

就针对此问题有两种解决的方法:

1.可以再Activity的onCreate()方法中加入这样一段代码

如下:

@Override

protected void onCreate(Bundle savedInstanceState)

{

// TODO Auto-generated method stub

String strVer=GetVersion.GetSystemVersion();

strVer=strVer.substring(0,3).trim();

float fv=Float.valueOf(strVer);

if(fv>2.3)

{

StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()

.detectDiskReads()

.detectDiskWrites()

.detectNetwork() // 这里可以替换为detectAll() 就包括了磁盘读写和网络I/O

.penaltyLog() //打印logcat,当然也可以定位到dropbox,通过文件保存相应的log

.build());

StrictMode.setVmPolicy(new StrictMode.

Android之如何解决android.os.NetworkOnMainThreadException的异常

.NET Android

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MITK 2021.2编译
下一篇:【硬核】MMU是如何完成地址翻译的
相关文章