2012-05-31 41 views
0

我怎樣才能調用一個新的意圖的方法? 我的目標是創建一個啓動AsyncTask的Activity。從我的主要Activity中,我想這樣做以Intent開始,並且在新的Intent中監控AsyncTask執行?

獲取任務以檢查它是否仍在運行(如果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

嗯好的。創建一個'MyTask extends AsyncTask',並在我的MainActivity中通過'AsyncTask task = new MyTask()。execute()'使用它會是一個好方法嗎? – membersound

+0

當然可以! – arnouf

+0

好吧,嘿,僅供參考:我剛發現一個CAN可以訪問其他任務的方法,請參閱上面的更新。 – membersound