gpt4 book ai didi

android - Intent extras 包含信息,即使 Activity 被销毁并重新启动也是如此

转载 作者:行者123 更新时间:2023-11-30 02:51:57 24 4
gpt4 key购买 nike

我的应用程序是使用标签启动的,并根据标签中包含的信息进一步进行。现在我的应用程序也可以通过使用触摸图标启动,稍后它会要求用户触摸标签。小流量如下。

enter image description here

所以 MainActivity 可能包含标签数据(如果从 TagProcessorActivity 启动),或者可能不包含数据(如果从图标启动启动)。数据作为 Intent 额外值从 TagProcessorActivity 传递到 IconLaunchActivity,然后传递到 MainActivity。在主要 Activity 之后,应用程序操作继续进行。当我离开主要 Activity 时,我之前的所有 Activity 都会完成。我已经检查过每个 Activity 都调用了 onDestroy() 。现在,如果我在 MainActivity 之后注销(注销只是一个关闭所有现有 Activity 的功能),并从最近的应用程序重新启动我的应用程序,我的标签详细信息仍然出现在 MainActivity 中,我不知道为什么。

为了更清楚地说明我的问题是:

1) 为什么被销毁的 Activity 仍然包含上次启动的信息。

2) 我知道 removeExtra() 方法,但是有没有更好的选择来解决这个问题。

3) 尽管如此,我的代码中有什么问题还是 android 保留了那个额外的 Intent 实例?

PS:不清楚贴出哪一段代码,所以如果需要请随时索要代码。

最佳答案

Android 中的应用程序永远不会退出。 onDestroy 仅销毁 Activity ,不会销毁应用程序中留下的任何静态变量。这些将在下次启动 Activity 时保持其值(value)。这可以与其他一些功能结合使用(比如从最近的任务菜单启动,导致您启动相同的 Intent ),这就是您将获得的行为。我一直使用的答案是检测这种情况(通过检查 Intent ,有一个字段说明这是重新启动还是全新),如果是这样则忽略 Intent 附加项。

关于android - Intent extras 包含信息,即使 Activity 被销毁并重新启动也是如此,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23990714/

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