在我的应用程序中有一些活动,但在特定点上有堆栈 其他活动 - > A - > B - >纽瓦 现在,我有一些奇怪的事情要做: - 如果我在B,我按下后退按钮,我将返回A. - 如果我在newA并按回来,我不想看到A和B,但返回活动堆栈(已经达到跳过B)
答案 0 :(得分:1)
使用FLAG_ACTIVITY_CLEAR_TOP这将解决您的问题
如果已设置,并且正在启动的活动已在当前任务中运行,则不会启动该活动的新实例,而是将关闭其上的所有其他活动,并将此Intent传递给(现在在最前面)作为新意图的旧活动。
例如,考虑一个由活动组成的任务:A,B,C,D。如果D调用带有解析为活动B组件的Intent的startActivity(),那么C和D将完成并且B接收给定的Intent,导致堆栈现在为:A,B。
像
一样使用它Intent intent = new Intent(getApplicationContext(),
yourActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);