- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我对 FLAG_ACTIVITY_CLEAR_TASK
与 FLAG_ACTIVITY_NEW_TASK
的组合感到非常困惑。 FLAG_ACTIVITY_CLEAR_TASK
不是应该清除 TARGET 任务而不是调用者任务吗?
假设我有这个导航
A -> B -> C
B
使用 FLAG_ACTIVITY_NEW_TASK
和 FLAG_ACTIVITY_CLEAR_TASK
调用 C
。这应该如何从堆栈中清除 A
和 B
?我知道会发生这种情况,因为我对其进行了测试(如果我返回 C
,我将离开该应用程序),但我不完全理解为什么...... A
和 B
是另一个任务的一部分,该任务不是将在其上创建 C
的任务。
FLAG_ACTIVITY_CLEAR_TASK
If set in an Intent passed to Context.startActivity(), this flag will cause any existing task that would be associated with the activity to be cleared before the activity is started.
也许上面的粗体文本意味着调用者和目标任务已被清除。我不清楚 associated
是什么。
最佳答案
FLAG_ACTIVITY_CLEAR_TASK
将通过启动新 Activity 来清除所有现有任务,在您的情况下它是 C
。
我想你需要FLAG_ACTIVITY_CLEAR_TOP
在您的情况下,这只会清除堆栈中的顶部 Activity B
。
您可能对其他标志感兴趣,查看 here .
关于android - FLAG_ACTIVITY_CLEAR_TASK 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47443437/
将支持版本更新到 27.0.0 编译器后出现错误 找不到符号变量 FLAG_ACTIVITY_CLEAR_TASK。 Is this variable removed? What use instea
我对 FLAG_ACTIVITY_CLEAR_TASK 与 FLAG_ACTIVITY_NEW_TASK 的组合感到非常困惑。 FLAG_ACTIVITY_CLEAR_TASK 不是应该清除 TARG
我有两个应用 App-B 启动 App-A。如果用户从 App A 内部启动 App B,我会在 App-A 上调用完成,所以我没有问题。 如果用户从应用程序抽屉或长按主页按钮直接进入应用程序 B,那
我一直在测试 Intent 标志,但我需要澄清一些事情。我的抽屉导航中有两个项目,单击我执行此操作, Intent intent = new Intent(this, activityClazz);
背景 我需要在某些事件上启动一个 Activity (比如通知点击,但它可以是任何其他事件,甚至来自 broadcastReceiver),如果其他 Activity 正在运行,或者至少不提供,它也会
我正在尝试从 Activity A 开始 Activity B, Intent 设置为 Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLE
在我的 android 应用程序中,我需要使用 Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK设置我的 Intent 标
我正在使用以下内容发起一项新 Activity : Intent intent = new Intent(this, MyNewActivity.class); intent.addFlags(Int
从 Android 文档: FLAG_ACTIVITY_CLEAR_TASK If set in an Intent passed to Context.startActivity(), this f
我正在尝试向我的应用程序添加注销/注销功能。我正在关注这个 video在 youtube 上这样做。注销/注销功能工作正常,但在登录屏幕注销后我可以返回应用程序。我仍然没有尝试使用 onBackPre
我的应用程序有一个 Activity A,它触发 B,B 又触发 C。 Activity A 是在 list 文件中带有 intent 标志 android:noHistory="true"的启动器。
好吧,那是我的问题。 我需要,当用户按下返回底部时,删除所有打开的 Activity 的堆栈: @Override public void onBackPressed(){ Intent i
何时使用 android:noHistory 以及何时使用 Intent FLAG_ACTIVITY_CLEAR_TASK?在我的场景中,当我想从 Activity B 到 Activity C 时,
在 Android 中,如果您想清除当前的 Activity 堆栈并启动新的 Activity(例如,退出应用并启动登录 Activity),似乎有两种方法。 如果您的目标 API 级别高于 16,那
我在使用 kotlin 版本 1.3.41 的 kotlin 项目中遇到问题 Unresolved reference :我无法找出为什么会出现该问题?。我也降级了 kotlin 版本但没有效果。 当
我已经对 SO 进行了一些阅读和搜索,但找不到清除当前 Activity 堆栈的方法。我的应用程序的上下文是由后台服务/通知启动的 Activity 。 想象一下,我的应用程序允许您组织人员列表。几个
Intent intent = new Intent(LoginActivity.this, Profile.class); intent.setFlags(Intent.FLAG_ACTIVITY_
我有两个页面:1 - 商店列表2 - 过滤网 我想做 点击 Store List 的过滤器图标 = 启动过滤屏幕 点击过滤器屏幕的应用按钮 = 启动商店列表 按后退键我想转到主屏幕 在商店列表页面我想
我是一名优秀的程序员,十分优秀!