我有一些从我的主要活动开始的活动。当我进入其中一个活动时,按回家,终止进程,返回应用程序(它从我离开的活动恢复的地方),然后按回来,它只关闭我的应用程序而不是回到我的主要活动。我希望保留后台堆栈。有谁知道为什么会这样?
我正在做可能相关的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>
有什么想法吗?
更新:
我尝试使用这些条件重新创建一个非常简单的示例,但无法重现。我不确定此时是什么导致了这个问题。