2011-04-09 57 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