android 历史 activity,关于android:从历史中删除“start”-activity

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:

Removing an activity from the history stack

我正在寻找从历史堆栈中删除StartActivity的解决方案。

StartActivity是在开始时启动的。 我正在使用此类检查一些用户值,并希望将用户重定向到MainActivity,如果一切正确的话。

我试图设置一个标志:

addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

但这并不是应该做的。

App starts -> StartActivity -> MainActivity -> PRESS back -> the app should end

它确实:

App starts -> StartActivity -> MainActivity -> PRESS back -> StartActivity

谢谢您帮忙!

编辑:这是我用来启动MainActivity的代码:

Intent i = new Intent(context, DashBoardActivity.class);

i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

startActivity(i);

你可以发贴你的代码来切换活动吗?

您可以在启动MainActivity后调用finish()。

Intent i = new Intent(context, DashBoardActivity.class);

i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

startActivity(i);

finish();

当然,这种方法也很有效,但当他提到从历史中删除时,标志首先出现在我脑海中。

是的,您的解决方案可能是归档它的正确方法。 我的一个更快,更脏。;)

谢谢,您的解决方案有效。 但另一个解决方案@Zelimir似乎更优雅。

谢谢,从文档中可以立即清楚地知道您需要传递FLAG_ACTIVITY_CLEAR_TOP并且还要调用finish()

启动StartActivity时应使用FLAG_ACTIVITY_NO_HISTORY来实现所描述的行为。

如果在AndroidManifest.xml中将noHistory属性设置为true,则可能会达到相同的效果。

注意:如果您尝试使用像facebook这样的登录提供程序(它会启动自己的活动然后将您返回到您的启动活动),则此方法不起作用

多数民众赞成我的情况,任何提示如何处理?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值