当前位置: 代码迷 >> Android >> 已经新起线程,为何有android.os.NetworkOnMainThreadException错误
  详细解决方案

已经新起线程,为何有android.os.NetworkOnMainThreadException错误

热度:16   发布时间:2016-05-01 12:34:55.0
已经新起线程,为何有android.os.NetworkOnMainThreadException异常
我在入口的activity加入了版本检测,在onCreate里加入了如下代码
new Thread(){
     public void run(){
     try{
     checkToUpdate();
     }
       catch(Exception e) {
       }
     }
         }.run();

请问为什么在android 4.0版里还会出现android.os.NetworkOnMainThreadException?谢谢
------最佳解决方案--------------------
new Thread(){....}.start();
你调用run方法,相当于Thread就是一个普通的类,所以还在主线程。调用start(),Thread会在新线程里执行run()的内容。
------其他解决方案--------------------
你应该用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>

------其他解决方案--------------------
没用过android4.0版本开发过
------其他解决方案--------------------
你确认是那里报的这个错吗?
  相关解决方案