欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android的AsyncTask类中使用自定义handler

程序员文章站 2022-04-25 15:53:55
...
熟知的AsyncTask就是Thread+handler实现,但是这个handler并不能很好的被我们控制。在我的需求中希望在AsyncTask中使用自定义的handler,而且在必要的时候退出消息循环。实现思路如下:
AsyncTask中创建消息循环,然后启动handler目标操作,当操作结束后,结束消息循环,执行后续代码。
下面是代码:

class mAsyncTask extends AsyncTask {
@Override
protected Object doInBackground(Object... params) {
// TODO Auto-generated method stub

Looper.prepare();
MHandler mHandler = new MHandler();
...
//my action
if(action is over){
mHandler.getLooper.quit();//当动作结束,退出消息循环,执行下面方法,如果不退出,下面的方法function()不会执行
}
...
Looper.mLooper.loop();
function();
return null;
}
}
相关标签: asynctask