今天在写代码的时候遇到一个问题。
有个需求需要在子线程中弹出Toast,但是会报一个异常Can’t create handler inside thread that has not called Looper.prepare()。
网上的解决办法是在Toast那行代码前后分别加上Looper.prepare();和Looper.loop();两条语句。
Looper.prepare();
ToastUtil.show(context,”短信备份成功”);
Looper.loop();
但是后来发现整个程序走完Looper.loop();的代码剩下的代码不执行了,就连finally里面的代码也不执行了。
解决办法:把Looper.loop();放到finally代码块中去。
子线程中弹吐司,不执行finally代码块
最新推荐文章于 2021-05-07 10:52:54 发布