Android - 如何在每次打开应用程序时启动完全相同的活动?

时间:2011-08-12 22:00:58

标签: java android android-activity onresume

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

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

非常感谢任何帮助。谢谢。

4 个答案:

答案 0 :(得分:6)

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

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

答案 1 :(得分:1)

我认为解决方案是销毁Activity1和Activity2 onStop。这使堆栈只有您的StartActivity。您可以在Activity中调用finish方法,以便在任何时候以编程方式终止它。

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

在你的manifest.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”属性会自动重启活动。