当前位置: 首页 > 知识库问答 >
问题:

点击应用程序图标破坏活动

岳嘉容
2023-03-14

我目前正在开发的一个新应用程序遇到了一个奇怪的问题,如果我将应用程序发送到后台(Home按钮),然后使用应用程序图标重新启动应用程序,除了根活动之外的所有活动都会被销毁(在日志中,我会获得所有活动的OnDestroy,除了调用OnResume的根活动)。

如果我将其发送到后台并从当前任务中恢复,它将恢复应用程序。

我已经将< code > Android:launch mode = " single task " 添加到应用程序清单上的所有活动中,但没有任何影响。

每个活动正常启动:< code > start activity(new Intent(this,next class));

当按下应用程序图标时,是否有任何方法可以恢复应用程序?

AndroidManifest.xml

<application
    tools:replace="android:icon"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme"
    android:screenOrientation="landscape"
    android:configChanges="keyboardHidden|orientation|screenSize"
    android:name="com.example.game.classes.App">
    <activity
        android:name=".LaunchScreenActivity"
        android:label="@string/app_name"
        android:screenOrientation="landscape"
        android:launchMode="singleTask"
        android:configChanges="keyboardHidden|orientation|screenSize">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".HomeActivity"
        android:label="@string/app_name"
        android:screenOrientation="landscape"
        android:launchMode="singleTask"
        android:configChanges="keyboardHidden|orientation|screenSize"/>
    <activity
        android:name=".PlayActivity"
        android:label="@string/app_name"
        android:screenOrientation="landscape"
        android:launchMode="singleTask"
        android:configChanges="keyboardHidden|orientation|screenSize" />
.
.
.

编辑:解释为应用程序重新启动而不是恢复时不重复

这种情况与我的情况的区别在于,在这种情况下,主活动是在其他活动之上启动的(您可以按“上一步”返回到以前运行的活动)。在我的情况下,除了重新开始的发射活动外,其他活动都被完全摧毁。

共有1个答案

慕承恩
2023-03-14

经过几天寻找解决方案。我终于找到了问题。问题是将机器人:启动模式=“单任务”添加到每个活动中。

我从所有活动中删除了它,除了根活动,现在它正按照我想要的方式工作。

 类似资料:
  • 请建议与android画中画模式相关的问题,如果我的应用程序有堆栈像家庭活动- 或 我想在应用程序图标启动时关闭PIP活动(PlayerActivity)。由于PIP活动在单独的任务中运行,如何关闭应用程序运行的所有其他任务?

  • 嗨,我想知道Android是如何管理内存的,我找不到确切的答案。假设我有一个应用程序在当前activity堆栈上有5个活动(4个停止,1个恢复),没有连接服务。我按HOME键,这样我的所有活动都停止了。我启动了一些其他内存消耗应用程序,而整个设备内存开始变低。问题是 …我的申请会发生什么? 系统是否只能破坏我的一个或部分活动以恢复内存? 系统会扼杀我的应用程序的整个过程吗?所有活动都会被很好地销毁

  • 在我的应用程序中,我从主活动导航到活动B。然后按下主页按钮,然后再次单击应用程序图标以将其最大化。 它不是继续我的活动B,而是回到主活动。 这是有道理的,因为在我的AndroidManifest.xml中,当您单击其图标时,我使用普通的意图过滤器来启动Mainactive: 我查看了Facebook和Twitter等流行应用程序,它们似乎都没有遇到这个问题——当你从Facebook订阅源导航到朋友

  • 我正在开发我的第一个移动应用程序。这是在科尔多瓦和爱奥尼亚的框架内。为了演示,我开发了登录系统和一个带有一些数据的仪表板。我担心的是,当用户登录到应用程序时,转到仪表板,假设他离开并出来时没有注销,那么下次他单击应用程序图标时,将被重定向到他离开的位置,但同时我希望用户数据能够更新,因为我做了以下事情。在页体onload上调用函数: onLoad函数: onDeviceReady函数: Check

  • 当我单击训练图标时,它会显示名为“主页”的按钮。 当我点击主页按钮时,它显示如下主页屏幕。 我的应用程序目前运行正常,我想关闭应用程序,当我单击应用程序图标(培训)时,必须显示主屏幕。我怎么能这样做..? 实际上,我在我的布局中有一个按钮,当按下按钮时,我正在显示带有以下代码的主屏幕。 它显示主屏幕,我在后台的服务已启动。我想停止我的应用程序中的所有操作,当我单击启动器图标时停止。我的问题是,当我

  • 只有当我点击图标返回应用程序时,它才会被破坏。如果我打开正在运行的应用程序列表并从那里返回,它将正常恢复。我在onDestroy()函数上设置了一个断点,因为我找不到在它之前调用的任何代码。这是它调用的线程: 看起来它收到了一些消息,从某处破坏了我的活动。在循环器中有一个名为msg的变量。这就是它的价值: 有人知道这里发生了什么吗?如何使我的应用程序恢复正常,就像我从正在运行的应用程序列表中选择它