Странное поведение стека активности при использовании MapActivity - PullRequest
2 голосов
/ 23 апреля 2010

У меня есть следующая структура активности в моем приложении

Простое действие «заставки» запускается при запуске приложения (назовем его «Всплеск»). Это действие запускает основное действие, когда пользователь нажимает кнопку (я назову ее «Основная»).

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));

Я не поймаю клавишу возврата в любой деятельности.

Есть какие-нибудь подсказки о том, что происходит или как это отладить?

1 Ответ

0 голосов
/ 23 апреля 2010

Я думаю, что видел такое поведение раньше в одном из моих проектов.Попробуйте установить свойство launchMode вашей активности запуска (в вашем случае Splash) в - android: launchMode = "singleTask" в файле манифеста.

Это должно помочь уточнить: http://developer.android.com/guide/topics/fundamentals.html#acttask

...