已经新起线程,为何有android.os.NetworkOnMainThreadException异常

qteam 2012-11-29 09:12:38
我在入口的activity加入了版本检测,在onCreate里加入了如下代码
new Thread(){
public void run(){
try{
checkToUpdate();
}
catch(Exception e) {
}
}
}.run();

请问为什么在android 4.0版里还会出现android.os.NetworkOnMainThreadException?谢谢
...全文
637 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
问答小助手 2012-11-30
  • 打赏
  • 举报
回复
你应该用start()代替run().
new Thread(){
         public void run()
         {
            try{
            checkToUpdate();
         }
            catch(Exception e) {
            }
         }
            }.start();
还有检查一下在manifest文件中是否添加了internet permission
<manifest xlmns:android...>
 ...
 <uses-permission android:name="android.permission.INTERNET"></uses-permission>
</manifest>
HappyDelano 2012-11-29
  • 打赏
  • 举报
回复
new Thread(){....}.start(); 你调用run方法,相当于Thread就是一个普通的类,所以还在主线程。调用start(),Thread会在新线程里执行run()的内容。
LichKingSZ 2012-11-29
  • 打赏
  • 举报
回复
你确认是那里报的这个错吗?
妮_梦 2012-11-29
  • 打赏
  • 举报
回复
没用过android4.0版本开发过

80,492

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧