按下后不返回父活动

时间:2013-08-01 13:04:27

标签: android android-intent android-activity

我有2个活动,A(根活动)和B从A发起。从B返回返回A,除了1个案例。 If I am in B, go to home screen, launch the app again from recent apps, B comes to foreground but pressing back leads to home screen instead of A.如果我通过从图标而不是从最近的应用程序启动来回到应用程序,则向我显示活动A,这可以说是正确的(尽管B应该显示并且从B向后按应该导致A)

活动A:

<activity android:name=".AudioRecTabsActivity"
            android:label="@string/app_name"
            android:launchMode="singleInstance">
            <!--  android:configChanges="keyboardHidden|orientation">-->
             <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

        </activity>

活动B:

<activity android:name=".settings.SettingsActivityOld"
            android:label="@string/settings_activity_title"/>

从A:

启动行为B.
intent = new Intent(this, SettingsActivityOld.class);
startActivity(intent);

3 个答案:

答案 0 :(得分:3)

如果您使用android:launchMode="singleInstance",这是完全正常的,因为活动B在新任务中运行,而活动A是其任务中唯一的活动。请检查此link

答案 1 :(得分:0)

尝试在活动B中调用Activity#finish()。它应该从活动堆栈中删除当前活动并返回到之前的活动。

答案 2 :(得分:0)

覆盖B活动的背压方法并从那里开始活动A

@Override
public void onBackPressed() {
    Intent intent = new Intent(this, A.class);
    startActivity(intent);

}