android - 从相同状态重新启动我的应用程序失败,糟糕 :(

标签 android android-activity android-intent flags relaunch

我想在这里说的是我在从之前离开的相同状态重新启动我的应用程序时遇到的问题。我在这方面做了很多研发,并且已经解决了 stackoverflow 中发布的问题。所以请不要说它是重复的。

我试过设置这些选项
objIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP);
在开始 Activity 时。我也试过这个,

objIntent.addFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); 

最后我也尝试了这个方法

    objIntent.setAction(Intent.ACTION_MAIN);
    objIntent.addCategory(Intent.CATEGORY_LAUNCHER); 

但这些似乎都不适合我。

场景是这样的,但失败了。

  1. 我运行我的应用程序,从初始 Activity 转到某个 Activity ,比如从 A 到 B

  2. 现在我将按下手机主页按钮并执行一些操作,例如点击照片等。

  3. 我再次尝试从主屏幕启动该应用程序。

糟糕!!现在我的应用程序没有保留其状态,它正在从初始状态启动。

注意:

  1. 然而,并非所有情况都是如此。有时说 10 次或 15 次中大约有 1 次或 2 次,它从之前离开的相同状态启动。

  2. 我还有一个疑问是我是否需要为所有 Intent 设置它?假设我有 10 多个 Intent 位置,即开始 Activity 。我需要在所有这些地方添加这段代码吗?我在 2 或 3 个案例中包含了这个

更新:

这在 Debug模式下有效,但是当涉及到 apk 创建时,它会失败。但是,如果我尝试多次,它会给我所需的结果,并且之后会按预期方式运行。打破我的头脑来理解为什么会这样。

有人知道这个问题的答案吗?

最佳答案

让 Activity 在后台运行不在您的手中。当您按下主页按钮时,您当前的 Activity 会进入后台并可以随时终止(将调用 onDestroy()),具体取决于您启动的其他应用程序的内存需求。

您启动的应用越多,杀死后台应用的机会就越大。

关于android - 从相同状态重新启动我的应用程序失败,糟糕 :(,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8533153/

相关文章:

java - 更新listView/刷新适配器

Kotlin协程之后的Android getMapAsync

Android 你能从链式 startActivityForResult 获得 Activity 结果吗

java - 屏幕底部 float 横幅广告

android - 如何在运行时验证已安装的应用程序以防止网络钓鱼攻击?

android - Intent 过滤器数据路径中的哈希符号

java - 在应用程序的整个 Activity 中管理持久视觉数据(事件驱动的按钮和 ImageView )

Android kotlin 项目构建卡在应用程序 :kaptDebugKotlin task

android - 具有透明背景的 Activity

使用 Intent 的 Activity 中的 Android Activity