监视新Intent中的AsyncTask执行情况?

时间:2012-05-31 16:34:07

标签: java android android-asynctask android-activity

如何调用新意图的方法? 我的目标是创建一个启动AsyncTask的Activity。从我的主要活动我想要开始这个作为一个意图,并

获取任务以检查它是否仍在运行(如果再次执行foo())。

class MainActivity extends Activity () {
    foo() {
        Intent i = new Intent(this, MyTaskActivity.class);
        startActivity(i);

        //AsyncTask task = i.getTask(); ??
        //if (task.getStatus() ==...)
    }
}

class MyTaskActivity exteds Activity() {
    private AsyncTask task;

    public AsyncTask getTask() {
        return this.task;
    }

    @Override
    onCreate(..) {
        task = new MyTask().execute();
    }

    private class MyTask extends AsyncTask<..>() {

    }
}

//解决方案:从主要活动中调用它:

((MyTaskActivity) getAppContext()).getTask();

1 个答案:

答案 0 :(得分:1)

您可以捕捉任务结束并发送主要活动捕获的广播或重新启动主要活动(如果在清单中使用特定标志定义主要活动应显示在顶部)。

有一件事是肯定的:你无法控制孩子的活动。