gpt4 book ai didi

android - clearTaskOnLaunch 如何操作?

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:51:30 25 4
gpt4 key购买 nike

阅读Android documentation这里的一些答案使 clearTaskOnLaunch 应该如何工作变得模棱两可。具体

1) 如何识别根 Activity ?它只是带有 DEFAULT、LAUNCHER 或 MAIN Intent 过滤器的那个吗?

2) 从文档中的“主屏幕”启动是指操作系统主屏幕或应用程序列表,对吗? IE。来自不在应用程序内。

3) clearTaskOnLaunch 是在 Activity 从主屏幕启动时清除 Activity 堆栈,还是仅在 Activity 的进程 从主屏幕启动时清除 Activity 堆栈?因为文档指示前者,但此处的帖子指示后者。我想这取决于“启动”的定义。

编辑: 4) “清除” Activity 堆栈是否意味着字面上的删除,或者让 Activity 循环通过 onCreate() 和 finish()?

我已经以各种可以想象的方式操纵了 clearTaskOnLaunch,但完全没有效果。我将它放在 list 中的根 Activity 中,然后将它放在每个 Activity 中只是为了确定,在完全终止进程后重新启动我的应用程序,等等。我的 Activity 堆栈根本没有被清除。

谁能提供有关如何实现 clearTaskOnLaunch 的完整概述?

最佳答案

以下是 Android 工程师对群组的完整回复:http://groups.google.com/group/android-developers/browse_thread/thread/da024bcaf4e1960f

Reading the Android documentation and some of the answers here (and on StackOverflow) have left it ambiguous how clearTaskOnLaunch is supposed to behave, specifically:

1) Does "clearing" the activity stack mean literally erasing it, or having the activities cycle through onCreate() and finish()?

堆栈中所有被清除的 Activity 都将经过 生命周期就像调用 finish() 一样。根 Activity 将 通常保持原样。

2) How is the root activity identified? Is it simply the one with the DEFAULT, LAUNCHER or MAIN intent filters?

这基本上是堆栈中的第一个 Activity 。 Intent 是 Intent 用于启动堆栈。

3) Launching from "home screen" in the documentation means the OS home screen or applications list, correct? I.e. from not within an application.

这并不重要——重要的是谁设置了 Intent .FLAG_ACTIVITY_RESET_TASK_IF_NEEDED。标准发射器套装 这是从图标启动应用程序时。你可以自己设置,如果 你要。

4) Does clearTaskOnLaunch clear the activity stack whenever that activity is launched from the home screen, or just when that activity's process is started from the home screen? Because the docs indicate the former, but posts here indicate the latter. I guess this depends on what the definition of "launch" is?

每当它从主屏幕启动时。过程的事实 被杀死并重新启动应该对用户不可见。

I've manipulated clearTaskOnLaunch in every way imaginable with absolutely no effect. I've placed it in my root activity in the manifest, then placed it in EVERY activity just to be sure, restarted my application after killing the process entirely, etc. My activity stack is simply not being cleared.

设置以此为例——如果你进入设置,向下挖掘 稍等一下,按主页,然后再次启动设置,您将最终进入 家庭 Activity ,而不是您上次去的任何地方。它只是设置 其应用程序主要 Activity 上的标志。

关于android - clearTaskOnLaunch 如何操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5460981/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com