android2.3中可以直接在主线程中开启网络发送请求,但是在4.0以上会强制子线程中开启网络。不然会报出android.os.NetworkOnMainthreadexception的异常终止程序。
我的解决方法是开启多线程,并使用匿名内部类的方法:
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 启动线程执行下载任务 new Thread(r).start(); } Runnable r = new Runnable(){ public void run(){ //开启网络 } }