android.os.NetworkOnMainThreadException
16lz
2022-01-08
造成这样的错误原因是代码不符合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() {@Overridepublic void run() {// 你要执行的方法// 执行完毕后给handler发送一个空消息handler.sendEmptyMessage(0);}}.start();
或:
@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);new Thread(connectRunnable).start(); // Create a connect. }Runnable connectRunnable = new Runnable() {@Overridepublic void run() {}};
更多相关文章
- Android(安卓)init.rc
- Android的消息机制
- Android(安卓)Handler,Message,MessageQueue,Loper源码解析详解
- [置顶] Android消息异步机制(ThreadLocal、MessageQueue、Looper
- Android的Root原理
- Android异步消息机制
- Android推送通知指南
- Android(安卓)ApiDemos示例解析(91):OS->SMS Messaging
- Android生命周期中几个重要的函数