如何随意启动Activity

时间:2013-12-13 07:31:41

标签: android android-activity

每次创建Activity时,我都会保留其参考。在那之后,由于某种原因,我想展示它,我该怎么做?我不想将此Activity更改为single tasksingle instance模式,因为我想将其用作standard模式。

下面我展示一些代码来澄清问题。

我有这个全局变量(遍及所有Activity的全局变量):

ArrayList<Activity> list = new ArrayList<Activity>();

Activity onCreate中,我将执行以下代码:

public void onCreate(Bundle bundle){
    list.add(this);
}

现在,如果我想在Activity中显示/开始第二个list。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

不要将Activity的引用存储在List中,而是像这样存储他们的类:

list.add(this.getClass());

稍后只需使用Activity启动FLAG_ACTIVITY_REORDER_TO_FRONT

Intent intent = new Intent(this, list.get(0));
intent.setFlag(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_REORDER_TO_FRONT