У меня есть следующая структура активности в моем приложении
Простое действие «заставки» запускается при запуске приложения (назовем его «Всплеск»). Это действие запускает основное действие, когда пользователь нажимает кнопку (я назову ее «Основная»).
Main может, в свою очередь, запустить два действия из меню. Первое действие представляет собой простую форму (назовем это «Форма»), второе - это MapActivity, которая представляет карту (она называется «Карта»).
Main, Form и Map объявляются точно такими же в манифесте:
<activity android:name="fully qualified activity class"
android:screenOrientation="landscape"
android:configChanges="keyboard|keyboardHidden|orientation"
>
<intent-filter>
<action android:name="android.intent.action.DEFAULT" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
Когда Main активен, и я запускаю Form и нажимаю «назад», Main снова появляется. Нажатие «назад» снова вызывает «Всплеск». Ничего странного здесь.
Теперь начинается странная часть: когда я нахожусь в Main, запускаю Map и нажимаю «назад», Main появляется, как ожидалось. Но повторное нажатие «назад» просто перезапускает Main. Второе нажатие на кнопку «назад» необходимо, чтобы вернуть меня в Splash!
Похоже, что запуск действия Map каким-то образом приводит к тому, что Main дважды попадает в стек действий, а запуск действия Form - нет!
Форма и Карта запускаются так:
startActivity(new Intent(this, MyActivity.class));
Я не поймаю клавишу возврата в любой деятельности.
Есть какие-нибудь подсказки о том, что происходит или как это отладить?