所以我在整个app中扩展了一个抽象类,它覆盖了后面的键,将Activity A重新排序到前面(带有标志)。
所以,它将是:
A> B>在任何地方,后面的键应将我带回A
我正在使用FLAG_ACTIVITY_CLEAR_TOP,但由于某些原因它完全令人耳目一新,我不希望这样。
所以:Flag_activity_clear_top正在重新加载onCreate()而不是onResume()。是什么给了什么?
答案 0 :(得分:23)
如果您希望在不重新启动的情况下将活动置于顶部,则将活动的launchMode设置为清单中的singleTop。当活动被带到顶部时,您将收到onNewIntent的电话。在onResume之前调用onNewIntent。如果您只希望针对特定意图使用此行为,则可以使用FLAG_ACTIVITY_SINGLE_TOP调用而不是清单将addFlags(除了FLAG_ACTIVITY_CLEAR_TOP)添加到intent中。
答案 1 :(得分:0)
For example, consider a task consisting of the activities:
A, B, C, D. If D calls startActivity() with an Intent that
resolves to the component of activity B, then C and D
will be finished and B receive the given Intent,
resulting in the stack now being: A, B.
**The currently running instance of activity B in the above example
will either receive the new intent you are starting here in its
onNewIntent() method, or be itself finished and restarted with the new intent.**
所以我认为你的活动本身已经完成并重新启动。
答案 2 :(得分:0)
Intent intent = new Intent(CurrentActivity.this, ActivityNeedOnTop.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
CurrentActivity.this.finish();