Android4.0以后不能在主线程访问网络的解决

解决方法1:

使主线程可以访问网络

if (Build.VERSION.SDK_INT >= 11) {
      StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build());
   StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects().detectLeakedClosableObjects().penaltyLog().penaltyDeath().build());
  }
 解决方法2:

启动一条子线程

解决方法3:

使用异步访问网络

class MyTask extends AsyncTask {  
  
        @Override  
        protected String doInBackground(String... params) {  
            //这里写连接网络的代码  
            return null;  
        }  
  
    }  



你可能感兴趣的:(Android)