如果我调用一个活动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 的新实例时。
我错过了什么?
谢谢
答案 0 :(得分:1)
请尝试使用FLAG_ACTIVITY_REORDER_TO_FRONT。如果它存在,它会将以前运行的活动实例带到前面。
一旦活动到达前台,就会像往常一样调用onResume()
方法,您可以刷新UI。