Android FLAG_ACTIVITY_CLEAR_TOP 无法正常工作?

2023-12-04

我真的不明白所有这些标志是如何工作的,因为我完全按照文档所说的操作,并且它没有解决我的问题。我的活动是这样启动的:(第一)活动 A -> 活动 B -> (第二)活动 A。如果我按返回按钮,它会返回到活动 B -> 活动 A -> 退出应用程序。现在我想从 Activity B 指定的第二个 Activity A 开始,当按返回时,它将跳过 Activity B 和第一个 Activity A,并立即退出应用程序。这是代码:

从A到B:

TabActivityGroupAbs parentActivity = (TabActivityGroupAbs) ((Activity) ctx).getParent();
detailIntent = new Intent(parentActivity, B.class);
parentActivity.startChildActivity("BFromA", detailIntent);

从B到A:

TabActivityGroupAbs parentActivity = (TabActivityGroupAbs) ((Activity) ctx).getParent();
detailIntent = new Intent(parentActivity, A.class);
detailIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
detailIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
parentActivity.startChildActivity("AFromB", detailIntent);

从 B 到 A,我添加了标志FLAG_ACTIVITY_CLEAR_TOP。但它并没有澄清任何事情。当我按回时,它仍然转到活动 B,然后再次转到活动 A。我做错了什么?

似乎所有标志都不起作用。从A到B,我写的是:

detailIntent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);

它应该防止 B 被放入活动堆栈。但事实并非如此。从第二个活动A开始,按返回键仍然返回到B。

现在我应该怎么做才能退出应用程序而不是从第二个活动 A 返回到 B。

编辑:我忘了提及。从B到A,如果我调用finish()来终止活动B,那么从第二个活动A开始,当按返回时,它会返回到第一个活动A。为什么活动A这里有2个实例,尽管我设置了FLAG_ACTIVITY_CLEAR_TOP?真的很奇怪。


读一遍,flag_activity_clear_top的使用永远不会出现问题

这是关于使用的简单说明Flag_Activity_Clear_Top。

正确使用的一种内衬配方:

它总是清除调用活动和被调用活动之间的中间活动(如果有)。

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

Android FLAG_ACTIVITY_CLEAR_TOP 无法正常工作? 的相关文章

  • Android Studio 3.0 Canary 9 - 无法解析包

    我在 Android Studio 3 0 Canary 9 中遇到几个错误 这些错误是 无法解析 android 软件包 下面列出了一些错误 我刚刚安装了 SDK 的所有额外软件包 但仍然收到 gradle 构建错误 Error 82 1
  • 使用workmanager时Firestore脱机持久性错误

    我正在使用一个WorkManger定期从我的中检索信息Firestore当应用程序处于后台和前台时的数据库 此信息用于根据状态更新 UI 因此不同的状态会添加或删除 UI 的不同部分 第一次运行时效果很好 但是 一旦应用程序处于后台并且Wo
  • 在 ViewPager Fragments 中使用 Master/Detail 模板(下载链接)

    工作代码 https github com lukeallison ViewPagerMasterDetail https github com lukeallison ViewPagerMasterDetail Android 主 详细流
  • Android 后退按钮无法与 Flutter 选项卡内的导航器配合使用

    我需要在每个选项卡内有一个导航器 因此当我推送新的小部件时 选项卡栏会保留在屏幕上 代码运行得很好 但是 android 后退按钮正在关闭应用程序而不是运行 Navigator pop import package flutter mate
  • 无法获取log.d或输出Robolectrict + gradle

    有没有人能够将 System out 或 Log d 跟踪从 robolectric 测试输出到 gradle 控制台 我在用Robolectric Gradle 测试插件 https github com robolectric robo
  • Android Activity 生命周期函数基础知识

    我正在测试这段代码 它显示活动所处的状态 public class Activity101Activity extends Activity String tag Lifecycle Called when the activity is
  • 在画布上绘图

    我正在编写一个 Android 应用程序 它可以在视图的 onDraw 事件上直接绘制到画布上 我正在绘制一些涉及单独绘制每个像素的东西 为此我使用类似的东西 for int x 0 x lt xMax x for int y 0 y lt
  • Android SIP 来电使用带有广播接收器的服务

    大家好 其实我正在尝试创建一个应用程序 支持基于 SIP 通过互联网进行音频呼叫 这里使用本机 sip 我遇到了来电问题 我已经完成了服务的注册部分 但是在接听电话时我无法接听电话 请帮助我 Service file package exa
  • 是否必须删除 Intent extra?

    这可能是一个愚蠢的问题 但是是否有一条规则规定消费活动必须显式删除 Intent 额外内容 或者只有在回收 Intent 对象时才如此 换句话说 如果我总是通过执行以下操作来链接到下一个活动 Intent i new Intent MyCu
  • Android MediaExtractor seek() 对 MP3 音频文件的准确性

    我在使用 Android 时无法在eek 上获得合理的准确度MediaExtractor 对于某些文件 例如this one http www archive org download emma solo librivox emma 01
  • 发布android后更改应用内购买项目的价格

    在 Google Play 上发布后 是否可以更改应用内购买商品的价格 我假设该应用程序也已发布 完整的在线文档位于http developer android com http developer android com也http sup
  • JavaMail 只获取新邮件

    我想知道是否有一种方法可以在javamail中只获取新消息 例如 在初始加载时 获取收件箱中的所有消息并存储它们 然后 每当应用程序再次加载时 仅获取新消息 而不是再次重新加载它们 javamail 可以做到这一点吗 它是如何工作的 一些背
  • Google 云端硬盘身份验证异常 - 需要许可吗? (v2)

    我一直在尝试将 Google Drive v2 添加到我的 Android 应用程序中 但无法获得授权 我收到 UserRecoverableAuthIOException 并显示消息 NeedPermission 我感觉 Google A
  • 如何发布Android .aar源以使Android Studio自动找到它们?

    我正在将库发布到内部 Sonatype Nexus 存储库 Android Studio 有一个功能 可以自动查找通过 gradle 引用的库的正确源 我将 aar 的源代码作为单独的 jar 发布到 Nexus 但 Android Stu
  • 尝试在 ubuntu 中编译 android 内核时出错

    我正在尝试从源代码编译 Android 内核 并且我已经下载了所有正确的软件包来执行此操作 但由于某种原因我收到此错误 arm linux androideabi gcc error unrecognized command line op
  • 我的设备突然没有显示在“Android 设备选择器”中

    我正在使用我的三星 Galaxy3 设备来测试过去两个月的应用程序 它运行良好 但从今天早上开始 当我将设备连接到系统时 它突然没有显示在 Android 设备选择器 窗口中 我检查过 USB 调试模式仅在我的设备中处于选中状态 谁能猜出问
  • .isProviderEnabled(LocationManager.NETWORK_PROVIDER) 在 Android 中始终为 true

    我不知道为什么 但我的变量isNetowrkEnabled总是返回 true 我的设备上是否启用互联网并不重要 这是我的GPSTracker class public class GPSTracker extends Service imp
  • 一次显示两条Toast消息?

    我希望在一个位置显示一条 Toast 消息 并在另一位置同时显示另一条 Toast 消息 多个 Toast 消息似乎总是按顺序排队和显示 是否可以同时显示两条消息 是否有一种解决方法至少可以提供这种外观并且不涉及扰乱活动布局 Edit 看来
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两

随机推荐

  • 通过gradle上传到artifactory时如何更改jar文件名

    我正在使用 gradle 来将 jar 上传到神器 我设法做到了 但是我试图更改 jar 文件名 但它并没有真正让我这么做 我使用的是shadowJar来打包 我就是这样做的 apply plugin java apply plugin m
  • 在 matlab 中搜索结构的平行行以查找常见项目

    我存储了 行 列 值 信息 key1 1 1 1 2 1 3 4 2 3 4 attribute1 2 3 4 2 5 如下 Structure A1 key row1 1 1 1 4 3 key col1 1 2 3 2 4 attrib
  • 如何在 Struts 2 中使用 标签?

    我有下面的 Struts 2 标签 我需要检查属性是否value attr row Commentaire不为空 如果不为空 则显示一个小图标 用户可以单击它并查阅属性的内容value attr row Commentaire 我怎样才能使
  • 允许多个 IP 通过 .htaccess 访问 WordPress 站点管理

    我目前有一个正在升级的 WordPress 网站 并且在 htaccess 文件中有一个维护重定向设置 我可以允许我自己的 IP 访问站点和管理员 但如何允许其他编辑者也可以访问多个 IP 访问 我目前正在使用 RewriteEngine
  • java GC 是怎么回事? PermGen 空间已满?

    我不知道我的 java 进程发生了什么 这个过程就是一个索引过程 它从一组 zip 文件中读取文档 并将它们添加到 lucene 索引中 GC日志显示只是连续运行Full GC 4959 569 Full GC 19960K gt 1996
  • 如何让进度条在浏览器导航时正常工作?

    我正在 C 上使用进度条和 Web 浏览器控件 但我不知道如何在导航时制作一个平滑的进度条 您是否能一步一步创建它 我将不胜感激 Use WebBrowser ProgressChanged Event private void WebBr
  • 从 JavaMail 消息中预取预览文本

    我正在使用 JavaMail 1 5 2 读取来自 IMAP 帐户的邮件 为了减少对主机的请求数量 我预取了一些消息数据 例如发件人 日期 消息 ID 等 Folder folder store getFolder inbox folder
  • 为什么有这么多方法来比较平等?

    如果我想比较两个值是否相等 有多种选择 例如 eq对于符号 对于数字 char equal对于角色 string equal对于字符串 eql用于符号 数字和字符串 equal对于除符号之外的所有内容 我希望到目前为止我做对了 现在 作为
  • IntelliSense 不适用于 MVC Razor cshtml 页面

    我遇到了 没有为扩展 cshtml 注册构建提供程序 我的一个使用 MVC 3 的项目出现错误 这使得自动完成功能不起作用 程序仍然运行 但是很烦人 我已经准备好 Web config 并包含所有必需的引用 事实上 我的其他具有相同配置的项
  • 如何从 NSArray 中删除具有相同值的重复对象

    我有一个NSDictinary看起来像这样 NSArray duplicates name a id 123 name c id 234 name a id 431 name c id 983 name a 038 如何删除同名的词典 例如
  • java.util.Arrays 不工作 java 8

    我最近更新为在计算机上使用 Java 8 进行 Eclipse 我之前一直在使用 Java 7 起初 更新似乎工作正常 因为我可以编译并运行一个简单的hello world 程序 然而 当我开始导入我之前正在处理的使用该类的项目时java
  • 声纳分析失败并出现 SocketTimeoutException

    当尝试从 ant 运行 Sonar 时 由于 SocketTimeoutException 我遇到了偶发故障 设置 我在 RHEL 6 机器上运行 Sonar 4 0 配置为与 Postgres 9 2 一起运行 我使用 Jenkins 1
  • 如何使用带有 POST 参数的 JSF 隐式重定向

    在我的 JSF 应用程序中 我有两个页面 list jsf and details jsf 每个页面都有自己的控制器和视图范围 在list jsf我有一个
  • 如何在 mutate 语句中对两列进行排序和粘贴?

    我希望对两列进行排序并将其粘贴到新列中 test data frame a jump b jam test gt mutate new paste sort a b 预期输出是包含三列的数据框 a jump b jam c jamjump
  • 嵌入式模式下的 JSP 单元测试

    我正在构建一个小型框架来对 JSP 进行单元测试 这些 JSP 有一些自定义标签 除此之外它们并没有什么特别的 尽管有许多可用的 Java 单元测试解决方案 但我不喜欢使用启动单独的成熟 JSP 容器 部署应用程序并通过 TCP 连接收集结
  • 如何使用 selenium python 向下滚动谷歌工作页面

    我正在尝试使用以下行向下滚动职位发布 但有时会给出正确的结果 向下滚动到末尾 有时则不会 html driver find element by tag name html time sleep 5 html send keys Keys
  • 为什么 strlen 的 REPNE SCASB 实现可以工作?

    为什么这段代码有效 http www int80h org strlen 表示字符串地址必须位于EDI为 注册scasb工作 但这个汇编功能似乎并没有做到这一点 汇编代码为mystrlen global mystrlen mystrlen
  • R:将数据集变量中的计数“反累积”到各个行[重复]

    这个问题在这里已经有答案了 我是 R 初学者 花了几个小时尝试解决问题 我会 反累积 数据集中变量的值 获得行中的各个观察值 我认为最好用一个例子来解释这一点 我会从 Variable 1 Variable 2 Count GROUP1 A
  • 将日期作为因子错误转换为日期

    我在计算从 csv 文件导入的日期时遇到问题 我想要做的是在因素 DateClosed 中获取该日期并在日期字段 a 中生成日期 例如 如果 a 203 我希望日期等于 DateClosed 203 但是 我在使用下面列出的代码时遇到了问题
  • Android FLAG_ACTIVITY_CLEAR_TOP 无法正常工作?

    我真的不明白所有这些标志是如何工作的 因为我完全按照文档所说的操作 并且它没有解决我的问题 我的活动是这样启动的 第一 活动 A gt 活动 B gt 第二 活动 A 如果我按返回按钮 它会返回到活动 B gt 活动 A gt 退出应用程序