android 移除activity,Android Activity从堆栈中删除

我想从任务堆栈中完全删除一个活动,但是finish()似乎只能最小化任务。 如果我单击手机上浏览所有打开的任务的按钮,则该按钮仍然存在。 我需要将其擦去以摆脱它。

我实际上如何彻底摆脱活动? 目前,我有启动Activity_B的Activity_A。 当我按回去时,Activity_B最小化,Activity_A出现在最前面。 如何使它简单地摆脱Activity_B并返回到Activity_A?

编辑:

我找到了原因,Activity_B将Activity_A作为父回调Activity。 如果您在A呼叫B时没有启动新活动,那么它会正常工作(杀死B会杀死整个事情,A不会浮出水面)。

您能在stackoverflow中检查类似的问题吗?

是的,我看过这两个。 他们提到了我尝试过的两种主要方法。 1)android:noHistory =" true"实际上不起作用。 2)启动另一个活动并清除任务。 这确实可行,但似乎有点不客气。 必须有一种方法可以简单地结束此活动,而不必启动第二个活动来结束此活动。

检查一下。 答案,它可以帮助我解决同样的问题。

我最后要做的是,当Activity_A调用Activity_B时,它不会创建新的Activity,而只是替换它。 因此,当我摆脱B时(例如,将其擦掉),它就不会回到A。

否则,B将回调A,然后在您摆脱B时基本上将A带回到前面。

你有没有尝试过:

intent = new Intent(view.getContext(),MainActivity.class);

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);

startActivity(intent);

检查这是您需要的吗?

android:noHistory="true">

我已经在类似的问题中看到了,但这是行不通的。 当我按下"返回"键时,"活动"将移至堆栈的背面,但不会消失...

不是一个好方法,但还是尝试一下。在您的背面按下内部,写Intent intent = new Intent(this,ActivityA.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(intent);

:D在对评论我的问题的人的评论中,我提到这样做确实有效……似乎很不客气。 Android活动没有结束自己的原生方式吗? 我想如果是这样,我将不得不使用hacky方式。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值