「NetworkOnMainThreadException」:Android 2.3到Android 4.0上传文件的问题

我在百度知道上的提问: 

『之前我用的一段文件上传的代码,配合服务器端的servlet,实现了上传手机上的文件的功能;但是后来我把手机的Android系统从2.3升级到了4.0 ,同样的代码,同样的配置,这段代码却不能实现上传了,不知为何?
代码:http://pan.baidu.com/s/1i3unYxJ

在stackoverflow上还发现4.0相对2.3的一些网络方面的函数有所改动。

 

大神回答:

『4.0以后在主线程,也就是UI线程中是不可以发送网络请求的,目的是防止阻塞线程,会报ANR错误,也就是程序未响应错误。

 顺带提一下,service也是运行在主线程中的,在其中发起网络连接也是要新建一个线程的。』

果然把unploadFile()变成一个新的线程就好了!

谢谢大神。

 

http://zhidao.baidu.com/question/1637612654537574740.html?from=pubpage&msgtype=2

 ------------------------JAN18,2014------------------------------

再一次遇到这个问题,上次LOGCAT没有HINT,今天直接提示了:

 

posted @ 2014-01-12 14:27  LarryLawrence  阅读(262)  评论(0编辑  收藏  举报