我有一个绑定服务,它执行一些异步任务,一旦任务完成,服务就会调用已注册的监听器,我想知道这种方法是否有任何缺陷或是否有更好的方法。< / p>
SomeService
Handler handler = new Handler();
public void doSomeTask(OnTasksFinishListener listener) {
final OnTasksFinishListener _listener = listener;
new Thread(){
@Override
public void run() {
// some extensive code
handler.post(new Runnable(){
public void run() {
_listener.onTaskFinish();
};
});
}
}.start();
}
客户端
mLocalService.doSomeTask(this);
public void onTaskFinish(){
//something will happen in the UI.
}
答案 0 :(得分:0)
您的解决方案很好,但我会使用android.os.AsyncTask
简化它。