1

简而言之,举个例子,我基本上有一个包含 3 个活动的应用程序:Activity1 Activity2 StartActivity

StartActivity 包含两个按钮,分别对应另外两个活动,启动它们。如果我从 Activity1 退出应用程序,当我稍后从手机单击应用程序图标时,Activity1 会重新启动,因为 Android 会跟踪这一点。我需要重新启动应用程序才能将我带到 StartActivity,这样我就可以通过单击按钮来选择去哪里,而不必单击后退按钮才能在 StartActivity 结束。我假设 onResume 和 onRestart 都参与其中,但他们应该去哪里?

非常感谢您的任何帮助。

4

5 回答 5

6

您可以查看清单文件中的 android:clearTaskOnLaunch 活动属性:http: //developer.android.com/guide/topics/manifest/activity-element.html

我认为在您的根活动上将此属性设置为“true”可以满足您的需求。

于 2011-08-12T22:13:56.203 回答
2

我认为解决方案是破坏 Activity1 和 Activity2 onStop。这使堆栈只剩下您的 StartActivity。您可以随时调用finishActivity 中的方法以编程方式终止它。

于 2011-08-12T22:12:57.693 回答
0

一般来说,它的工作方式(据我了解)是您使用 BACK 按钮退出活动,而 HOME 按钮基本上将“最小化”活动 - 让您回到任何打开的活动。

虽然您应该保持此功能不变,但您可以覆盖主页按钮以完全退出您的应用程序。

于 2011-08-12T22:09:35.773 回答
0

在你的 mainfest.xml 文件中这样写。

<activity android:name=".StartActivity" android:label="@string/app_name"
                android:clearTaskOnLaunch="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>  

android:clearTaskOnLaunch="true" 属性自动重启活动。

于 2011-08-13T05:38:02.660 回答
0

只需将以下代码添加到您的清单文件中,添加到您希望在启动时打开的活动中。

<intent-filter>
  <action android:name="android.intent.action.MAIN" />
  <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
于 2021-10-12T16:58:52.647 回答