2011-04-09 42 views
2

我開始ASyncTaskActivity如何關閉ASyncTask的活動?

public class PrepareRequestTokenActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     new OAuthRequestTokenTask(this, consumer, provider).execute(); 
    } 

然後,根據的AsyncTask執行的結果,我應該要麼關閉不在此PrepareRequestTokenActivity活動。

(結果是已知的AsyncTaskonPostExecute

回答

5

onPostExecute你簡單的使用你的這個變量來執行finish()。

在構造函數

保持你的活動參考 和調用finish()在onPostExcecute方法

+1

它沒有爲我工作,你可以請看看這裏:http://stackoverflow.com/questions/8623823/finish-the-calling-activity-when-asynctask-completes和建議的東西。提前致謝。 – 2011-12-24 11:14:40

+1

((Activity)context).finish(); – 2014-11-24 07:01:56

3

如果你從onPostExecute內工作,而你asyncTask()類是內部的活動;簡單地打電話MyClassName.this.finish(),或類似的,應該工作得很好?我認爲onPostExecute()具有UI範圍。

+0

我的AsyncTask是在外部類。看起來蘇尼爾的方法奏效。 – 2011-04-09 10:35:21