У меня есть некоторые действия, которые запускаются из моего основного действия. Когда я перехожу к одному из этих действий, нажимаю «Домой», завершаю процесс, возвращаюсь в приложение (где он возобновляет действие, из которого я ушел), а затем нажимаю «Назад», оно просто закрывает мое приложение вместо того, чтобы вернуться к моей основной деятельности. Я ожидаю, что задний стек будет сохранен. Кто-нибудь знает, почему это происходит?
Я делаю 3 вещи, которые могут быть связаны:
(1) Моя основная деятельность имеет режим запуска singleTask
Я попытался удалить это, но это не решило проблему. Например:
<activity
android:name=".activities.ActivityMain"
android:launchMode="singleTop"
android:screenOrientation="portrait">
</activity>
(2) Я переопределяю 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
android:name=".activities.ActivityLocation"
android:screenOrientation="portrait"
android:parentActivityName=".activities.ActivityMain">
</activity>
Любые идеи?
ОБНОВИТЬ:
Я попытался воссоздать очень простой пример с этими условиями, но не смог воспроизвести. Я не уверен, что вызывает эту проблему на данный момент.