造成这样的错误原因是代码不符合Android规范,如果把上面访问方式改为异步操作就不会出现在4.0上访问出现 android.os.NetworkOnMainThreadException异常
如:
// 定义Handler对象
final Handler handler = new Handler() {
@Override
// 当有消息发送出来的时候就执行Handler的这个方法
public void handleMessage(Message msg) {
super.handleMessage(msg);
// 处理UI
}
};
new Thread() {
@Override
public void run() {
// 你要执行的方法
// 执行完毕后给handler发送一个空消息
handler.sendEmptyMessage(0);
}
}.start();
或:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(connectRunnable).start(); // Create a connect.
}
Runnable connectRunnable = new Runnable() {
@Override
public void run() {
}
};