杀死进程并恢复后,活动后备堆栈未恢复

时间:2015-05-04 12:19:07

标签: android back-stack kill-process activity-lifecycle

我有一些从我的主要活动开始的活动。当我进入其中一个活动时,按回家,终止进程,返回应用程序(它从我离开的活动恢复的地方),然后按回来,它只关闭我的应用程序而不是回到我的主要活动。我希望保留后台堆栈。有谁知道为什么会这样?

我正在做可能相关的3件事:

(1)我的主要Activity有启动模式singleTask

我尝试删除它,但它没有解决问题。例如:

<activity
    android:name=".activities.ActivityMain"
    android:launchMode="singleTop"
    android:screenOrientation="portrait">
</activity>

(2)我在辅助Activity中覆盖了onBackPressed(),但是当我确实想要返回时调用super.onBackPressed()。我也试过不这样做,但也没有帮助。例如:

@Override
public void onBackPressed()
{
    Logger.d("ENTER");

    ViewUtils.closeKeyboard(this);

    //kv If it's a valid location, but hasn't changed, then just finish up
    if (((FragmentLocation) getFragment()).isValidSpecifiedLocation()
            && !((FragmentLocation) getFragment()).sendUserSpecifiedLocation())
    {
        finish();
        overridePendingTransition(R.anim.slide_in_from_left, R.anim.slide_out_to_right);
    }
}

(3)我将清单中的父Activity设置为我的主Activity(我也尝试删除它,但它没有帮助):

<activity
    android:name=".activities.ActivityLocation"
    android:screenOrientation="portrait"
    android:parentActivityName=".activities.ActivityMain">
</activity>

有什么想法吗?

更新:

我尝试使用这些条件重新创建一个非常简单的示例,但无法重现。我不确定此时是什么导致了这个问题。

0 个答案:

没有答案