当我在使用主页按钮后为我的应用程序充电时,它会在我的第一个 activity 中启动

When I charge my app after using home button it starts in my first activity

我确定这将是一个真正的新手问题,但我被困住了,我不知道如何摆脱它!

我有一个应用程序有三个活动,当我使用主页按钮并再次打开应用程序时,它总是转到第一个 activity,即使我在第二个或第三个.

编辑 3: 我的应用程序有三个活动,第一个是主菜单,第二个是表格地图,第三个是表的数据。根据配置,关闭第三个 activity 必须将我带到第一个或第二个,而当我离开第三个 Activity 时,我不希望它留在 Activities 堆栈中。从 Activity 到另一个,我的程序运行良好。我的问题是,似乎当我使用主页按钮时,我的应用程序完成每个 Activity 除了第一个。

也许我必须修改清单上的任何内容,或者我必须以特定方式使用 RestoreInstanceState,但我搜索得很辛苦,但我找不到任何东西。提前致谢!

编辑 1: 我正在添加清单的 'application' xml 部分:

<application
    android:allowBackup="true"
    android:icon="@drawable/icobaccus"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">
    <activity
        android:name="com.example.tpv2_tablet.Activity_Start"
        android:label="@string/app_name" 
        android:screenOrientation="landscape"
        android:windowSoftInputMode="adjustPan" 
        android:configChanges="keyboardHidden|keyboard"
        android:theme="@android:style/Theme.NoTitleBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.example.tpv2_tablet.Activity_Zonas"
        android:label="@string/app_name" 
        android:screenOrientation="landscape"
        android:windowSoftInputMode="adjustPan" 
        android:configChanges="keyboardHidden|keyboard"
        android:theme="@android:style/Theme.NoTitleBar">
    </activity>
    <activity
        android:name="com.example.tpv2_tablet.PrintDialogActivity"
        android:label="@string/app_name" 
        android:screenOrientation="landscape"
        android:windowSoftInputMode="adjustPan" 
        android:configChanges="keyboardHidden|keyboard"
        android:theme="@android:style/Theme.NoTitleBar">
    </activity>
    <activity
        android:name="com.example.tpv2_tablet.Activity_Mesas"
        android:label="@string/app_name" 
        android:screenOrientation="landscape"
        android:windowSoftInputMode="adjustPan" 
        android:configChanges="keyboardHidden|keyboard">
    </activity>
</application>

编辑 2: 可能我在调用其他活动时做错了什么,或者我调用了错误的标志:

Intent intent = new Intent(Activity_1.this, Activity_2.class);
                            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                            finish();
                            startActivity(intent);

您需要在 android 清单中设置 android:clearTaskOnlaunch="false"

删除

<intent-filter>
<action android:name="android.intent.action.MAIN" />
</intent-filter>

来自所有 activities 除了 launcher activity

要了解原因,请阅读 Google Documentation here

删除:

android:noHistory="true"

因为这将从 activity stack

中删除 activity

移除:

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
finish();

来自:

Intent intent = new Intent(Activity_1.this, Activity_2.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
finish();
startActivity(intent); 

了解原因检查this answer