如何打开活动的上一个实例并重新创建它

时间:2013-09-04 09:47:33

标签: android android-intent

如果我调用一个活动Activity_B并且其中一个实例已经存在于backstack中,我想返回该实例,删除其间的所有活动,并重新创建该实例(刷新内容)

我试过了:

Intent intent = new Intent(Activity_A.this, Activity_B.class);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
finish();

并在 Activity_B:

@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    Log.d("Activity_B", "onNewIntent");
    //Thought of refreshing the content here.
}

我从来没有找到任何会做上述所有行动的事情。

我找到的最好的是FLAG_ACTIVITY_SINGLE_TOP,它不会重新创建Activty,而是会调用onNewIntent()我可以刷新内容。

但每次调用 Activity_B 的新实例时。

我错过了什么?

谢谢

1 个答案:

答案 0 :(得分:1)

请尝试使用FLAG_ACTIVITY_REORDER_TO_FRONT。如果它存在,它会将以前运行的活动实例带到前面。

一旦活动到达前台,就会像往常一样调用onResume()方法,您可以刷新UI。