当前位置: 首页 > 面试题库 >

如何使用Intent.FLAG_ACTIVITY_CLEAR_TOP清除活动堆栈?

向安福
2023-03-14
问题内容

我已经阅读了有关使用此功能的几篇文章,但一定会丢失一些东西,因为它对我不起作用。我的活动A在清单中有launchmode =“ singleTop”。它以launchmode =“ singleInstance”启动活动B。活动B打开浏览器并接收并返回意图,这就是为什么它是singleInstance的原因。我试图覆盖“后退”按钮,以便将用户发送回活动A,然后可以按“上一步”离开活动,而不是再次返回活动B。

// activity B
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)  {
 if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.ECLAIR
  && keyCode == KeyEvent.KEYCODE_BACK
  && event.getRepeatCount() == 0) onBackPressed();
 return super.onKeyDown(keyCode, event);
}
@Override
public void onBackPressed() {
 startActivity(new Intent(this, UI.class)
 .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK));
 return;
}

从浏览器返回后,堆栈为… A,B,Browser,B

我希望此代码将堆栈更改为… A …,以便再次按回可将用户带回到主屏幕。

相反,似乎将堆栈更改为… A,B,Browser,B,A …,好像这些标志不存在。

我尝试在startActivity之后在活动B中调用finish(),但是后退按钮再次将我带回到浏览器!


问题答案:

@bitestar具有正确的解决方案,但还有一个步骤:

它已隐藏在文档中,但是你必须将的更改launchMode为以外的Activity任何其他值standard。否则,它将被销毁并重新创建,而不是重置到顶部。



 类似资料:
  • 举个例子, 我有活动 A、B、C、D A呼叫B 然后,B呼叫C 之后,C呼叫D 在活动D中,我调用。它将返回活动C。 我的问题是,在调用<code>finish() 不要建议在每次都调用 因为应用可以按回上一个活动以继续。

  • 我知道关于这个主题,已经有很多关于堆栈溢出的问题,但没有什么对我有用。我想实现的是,我想清除特定方法调用上堆栈后的所有活动。 假设我在我的应用程序中有一个入口点,即方法。现在我从五个不同的活动中调用此方法。登录后始终显示一个屏幕。现在我想实现的是,无论从哪里调用如果登录成功,那么用户应该转到下一个活动(活动2),并且在双击该活动(活动2)时,用户应该退出应用程序。那就是我希望我的活动后堆栈在方法成

  • 我目前正在开发一个应用程序,但其中有一个错误。每当用户安装应用或清除数据时,应用都应重置。但相反,应用会为用户填充标准数据,而不是显示用户可以自己输入的开始屏幕。 我的问题主要是关于方法。我想输入: 不幸的是,我无法让它工作。有人能指出手头的问题吗?

  • 好吧,所以我有点困惑该怎么处理这个。因此,我有了主活动,从那里可以启动一个活动到DegreePlan活动,从那里可以启动另一个活动到EditDegreeplan。我已经将EditDegreeplan设置为在Android清单中没有历史记录。问题是在他们保存EditDegreeplan后,它会启动一个活动到Degreeplan。因此,如果用户按下后退键,他们必须按两次才能再次进入主活动。我想摆脱它,

  • 问题内容: 默认情况下,扑增加一个发光效果到手机上 我想完全删除此效果或在一个特定的滚动条上删除此效果。我知道我可以在弹跳/钳位之间进行更改。但这实际上并不能消除发光效果。 我能做什么 ? 问题答案: 光晕效果来自GlowingOverscrollIndicator 通过添加ScrollBehavior 要消除这种影响,您需要指定一个custom ScrollBehavior。为此,只需将应用程序

  • 我是Android编程新手。 我想了解如何为特定的Android应用程序维护活动堆栈,以及它如何根据用户导航进行更改。 例如,如果有多个活动,那么当用户单击“后退”按钮或“主页”按钮或启动新活动时,活动堆栈的行为如何? 我试图找到一个合适的职位,我可以得到所有的信息,但我没有得到任何。有人能建议我一些链接/帖子,我可以学习这个吗? 编辑: 到目前为止我遇到的链接/帖子: > onSaveInsta