坚持不去主要活动

时间:2013-08-18 09:38:31

标签: android android-intent android-activity

当我使用以下代码开始活动时。

        intent = new Intent(MainActivity.this, New1Activity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

        startActivityForResult(intent, StaticValue.REQUEST_CODE_MENU_01);

New1Activity活动出现后,打开另一个包应用程序,如Facebook应用程序,然后返回(通过多任务切换或后退按钮)到我的应用程序。 在这种情况下,我预计会给出New1活动,但会显示MainActivity。

此外,AndroidManifest.xml如下所示。

        <activity
            android:name="mypackage.MainActivity"
            android:screenOrientation="landscape"
            android:launchMode="singleTop"
            android:noHistory="true"
            android:label="@string/app_name"
            >
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
        <activity
            android:name=".New1Activity"
            android:launchMode="singleTop"
            android:noHistory="true"
            android:screenOrientation="landscape"
            />

由于我的应用效果管理,我在每个活动中都注意到noHistorysingleTop

每当我从其他应用程序返回时,如何保持我的活动状态?

1 个答案:

答案 0 :(得分:0)

哦,我的傻瓜。

我删除了noHistory="true"并且它有效。 (比方说RTFM.LOL)

下面的

引自android documentation

  

机器人:noHistory       当用户离开它并且它在屏幕上不再可见时,是否应该从活动堆栈中删除活动并完成(其被调用的finish()方法) - 如果它应该完成则为“true”,并且“false”如果不。默认值为“false”。       值“true”表示活动不会留下历史痕迹。它不会保留在任务的活动堆栈中,因此用户将无法返回该任务。       该属性是在API Level 3中引入的。