0

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

我试过了:

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的新实例时。

我错过了什么?

谢谢你

4

1 回答 1

1

尝试改用FLAG_ACTIVITY_REORDER_TO_FRONT。如果它存在,它将把你之前运行的活动实例带到前面。

一旦活动进入前台,它将onResume()照常调用它的方法,您可以在其中刷新您的 UI。

于 2013-09-04T09:53:41.607 回答