【问题标题】:Start new activity and clear all activities except for the starting one开始新活动并清除除开始活动外的所有活动
【发布时间】:2020-03-30 14:56:34
【问题描述】:

我需要启动一个名为ActivityA 的活动并清除在同一任务中启动的所有其他活动。使用Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK 标志的组合可以很容易地完成它。这里的问题是我不想重新创建ActivityA,如果它已经作为任务的根启动(虽然我想删除所有其他活动)。考虑一下:

如果我有A -> B -> C -> D,那么我只想关闭B,C和D,然后返回A。

如果我有 B -> C -> A -> D,那么我想删除所有活动并重新创建活动 A。

有办法吗?

编辑: 还有一个重要的方面我忘了提:ActivityA 可以在多个不同的应用程序中使用,所以我无法对 B、C、D 或任何其他活动做任何事情。

【问题讨论】:

    标签: android android-intent android-activity


    【解决方案1】:
    <activity
    android:name=".B"
    android:noHistory="true" />
    

    将 android:noHistory="true" 添加到您的活动 B、C、D。现在,当您按下返回按钮时,您将返回到活动 A

    【讨论】:

    • 感谢您的回答,但我忘了提到 ActivityA 是图书馆的一部分,所以很遗憾这不是一个选项
    • stackoverflow.com/questions/55119387/… Вроде можно это провернуть с активностью из библиотеки
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-20
    • 1970-01-01
    • 1970-01-01
    • 2016-02-02
    • 2011-09-06
    • 1970-01-01
    相关资源
    最近更新 更多