这是活动导航堆栈: 活动A>活动B>活动C
活动C是一个WebView,每次用户打开它时我都希望它重新打开,因此用户仍然可以看到之前在WebView中完成的操作。 因此,使用标志FLAG_ACTIVITY_REORDER_TO_FRONT打开此活动C,并且为了能够重新打开它,我不想完成它,因此活动C的onBackPressed已经更改并再次使用以下代码启动调用活动:
Intent intent = new Intent(this, Class.forName(callingActivity));
startActivity(intent);
这是有效的(C重新打开以前已经完成了),但问题是,当这样做时,Activity C成为堆栈中Activity B的父级,因此它在B和C之间循环,我无法返回到Activity A: C> B> C> B> C> B ...
我知道如何正确处理此导航?
答案 0 :(得分:-1)
再次在Activity C上使用super.onBackpressed()。 您应该使用标志FLAG_ACTIVITY_SINGLE_TOP而不是FLAG_ACTIVITY_REORDER_TO_FRONT,尝试并告诉我它是否有意图。
如果不起作用,您可以随时在onBackPressed上使用Intent以确保您导航到正确的活动