完成特定 Activity 的所有实例

2024-05-09

应用程序中可以有很多活动,最后启动的活动保留在堆栈顶部,按下后它会完成当前活动。我有一系列活动,这是流程..

如果我们有 A,B,C(1),D,C(2)...活动 C(1) 和 C(2) 是在导航应用程序时启动的活动 C 的两个不同实例。因此,必需的是清除活动 C 的所有实例,结果应该是当我完成时C(2)我应该带着这些堆栈离开A,B,D。我应该怎么办 。

IMP-我想保留C(1)除非我完成 C(2),否则一直在堆栈中存活 因为我可以使用 New Task 标志启动 C,而不是创建这些实例,但这些实例具有不同的 UI 和工作方式。

以下方法并不有利。

First

@Override
public void onBackPressed(){
    super.onBackPressed();
    Intent intent = new Intent(C(2).this , D.class);    
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
    startActivity(intent);
}

这将清除堆栈中的所有活动并重新启动活动

Second

在单例类中跟踪 Activity,然后重新启动所需的流程,但是当有很多 Activity 需要启动时,这会消耗时间。

所以我认为应该有一些使用包管理器或其他解决方案来解决问题,解决方案值得赞赏


我不知道在完成活动 C2 时手动关闭活动 C1 的方法。

但是,您可以通过这种方式处理恢复中的活动 C1 -

1 - 在您的应用程序类中设置一个标志:

public static boolean IsClosingActivities = false;

在活动 C2 发生“完成”之前,C2 可以将该值设置为“true”。

并在为新活动 C 调用 startActivity 的位置设置“false”。(假设稍后可以在应用程序中创建活动 C 的新实例)。

2 - 在简历上的 C 实现:

    @Override
    protected void onResume() {     
        super.onResume();
        if (YourApplication.IsClosingActivities) {
                this.finish();
        } 
    }

这样,当用户从 D 导航回来时,C1 将自行完成并导航到 B。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

完成特定 Activity 的所有实例 的相关文章

随机推荐

  • Django 如何从 ManyToManyField 序列化并列出全部

    我正在使用 Django 1 9 1 开发移动应用程序后端 我实现了关注者模型 现在我想列出用户的所有关注者 但目前我不得不这样做 我还使用 Django Rest 框架 这是我的 UserProfile 模型 class UserProf
  • 页面加载时输入触发的 jQuery 更改事件

    为什么是下面这个JQuery当文档在浏览器中准备就绪时触发事件运行 我的经验很少JQuery所以我有点坚持这个
  • MPDF 未定义索引错误

    我正在使用 MPDF 库将 HTML 转换为 PDF 这是我的代码 HTML HTML CONTENT GOES HERE HTML STRING MPDF gt WriteHTML html Converting MPDF gt Outp
  • MVC Web API 无法与 Autofac 集成一起使用

    我使用了 autofac 的 MVC 集成 如下所示 var container builder Build DependencyResolver SetResolver new AutofacDependencyResolver cont
  • Angular JS 更改后更新输入字段

    我正在尝试在 Angular 中构建一个简单的计算器 如果我愿意的话 我可以在其中覆盖总数 我有这部分工作 但是当我返回在字段一或字段二中输入数字时 字段中的总数不会更新 这是我的jsfiddlehttp jsfiddle net YUza
  • 关于 S3 文件传输的权限

    我正在使用 S3TransferManager Sample 进行测试 我创建了Cognito并设置了IAM并最后更改了constants swift文件 我上传没有问题 但下载失败 错误信息是 下载失败 错误域 com amazonaws
  • 使用 getJSON 未显示 JSON 数据

    document ready function getJSON news php parseInfo function parseInfo data alert data news undefined info html data news
  • Python 使用 M2Crypto 通过 S/MIME 对消息进行签名

    我现在花了几个小时 但找不到我的错误 我想要一个简单的例程来创建 S MIME 签名消息 稍后可以与 smtplib 一起使用 这是我到目前为止所拥有的 usr bin python2 7 coding utf 8 from future
  • 为具有可变内容的内联块元素提供相同的高度?

    我有 4 个宽度固定但内容可变的内联块元素 并且我希望所有这些元素具有相同的高度 最大元素的高度 请参见这个jsfiddle http jsfiddle net kKZXj 我应该如何实现这个目标 如果仅使用 css 无法做到这一点 那么使
  • 如何使用固定位置 div/ 的浮动、清除和溢出元素并排对齐两个 div/

    所以我一直在尝试将两个 div 并排对齐而不重叠 我有一个 div 将被固定为侧边栏 而右侧的 div 将被固定为内容 希望有人可以帮助我 body background color 444 margin top 0 margin bott
  • 具有透明度的颜色输入

    是否可以使用内置选择透明颜色
  • 如何在android中的应用程序小部件中找到哪个按钮被点击?

    我想设计一个简单的应用程序小部件 它有两个文本视图和两个用于上一个 下一个的按钮 我很难处理应用程序小部件中的按钮单击 实际上我的愿望是 如果用户单击上一个按钮 我想显示以前的值 如果用户单击下一个按钮 我想显示数据库中的下一个值 如何知道
  • 将 firebase 框架添加到 ios 项目时出现链接器错误

    我一直在尝试将 firebase 框架添加到我的 ios 应用程序中 我按照这里的说明进行操作 https www firebase com docs ios quickstart html https www firebase com d
  • 一个 UITableView 中的两种不同的单元格类型

    大家好 我对如何在一个具有两个部分的 UITableView 中使用两种不同的单元格类型感到非常困惑 第一部分应返回一个大单元格 其中包含大量文本 另一部分应返回三个单元格 以导航到其他视图 我尝试过这样的 UITableViewCell
  • 将 matplotlib png 转换为 base64 以在 html 模板中查看

    背景 你好 我正在尝试制作一个简单的网络应用程序 按照教程计算阻尼振动方程 并将结果的 png 返回到 html 页面 然后将其转换为 Base64 字符串 Problem 该应用程序运行正常 只是在计算结果时返回损坏的图像图标 可能是因为
  • 加特林负载测试期间编译错误

    我正在尝试编写一个模拟 并且希望能够运行该模拟 我在尝试 mvn gatling execute 时遇到错误 我的 pom 有以下依赖项
  • 使用 Swashbuckle Asp.Net Core for ReDoc 添加 x-logo 供应商扩展

    我正在使用 swagger json 文件 由 Swashbuckle 生成 让 ReDoc 显示 API 文档 What I Need Add x logo vendor extension to swagger json generat
  • 使用opencv计算深度视差图

    我无法使用 opencv 从视差图计算深度 我知道两个立体图像中的距离是用以下公式计算的z baseline focal disparity p 但我不知道如何使用地图计算视差 我使用的代码如下 为我提供了两个图像的视差图 import n
  • 十六进制数的按位异或

    我们如何在 Python 中对十六进制数进行异或 例如 我想要异或 ABCD and 12EF 答案应该是 B922 我使用了下面的代码 但它给出了错误的结果 xor two strings of different lengths def
  • 完成特定 Activity 的所有实例

    应用程序中可以有很多活动 最后启动的活动保留在堆栈顶部 按下后它会完成当前活动 我有一系列活动 这是流程 如果我们有 A B C 1 D C 2 活动 C 1 和 C 2 是在导航应用程序时启动的活动 C 的两个不同实例 因此 必需的是清除