2012-04-30 3 views
1

У меня есть 2 действия «A» и «B», «A» начинается с «B». Я начинаю работу «B» с помощью метода startActivityForResult(). Когда «B» находится на переднем плане и нажата кнопка «домой», приложение переходит в фоновый режим. И когда я пытаюсь запустить приложение снова, он начинается с активности «А», а не «В». Результат для действия «B» отменен. Почему «B» закрыт? Я думал, что использование launchModes в манифесте может решить проблему, но в документации говорится, что я не могу использовать режимы singleTask и singleInstanse, потому что результат будет отменен, и активность не начнется.активность закрывается при нажатии домашней кнопки

Как я могу это решить?

PS Спасибо за ответы, проблема решена. Я попытался использовать финиш() в onStop(), поэтому, когда действие «B» находится на переднем плане и нажата кнопка «домой», он заканчивается.

+1

Вам не нужно беспокоиться о launchModes для этого. По умолчанию B должен быть самой главной активностью в вашем стеке. Что-то еще должно быть неправильно. Вы видите что-то потенциально подозрительное на logcat? –

+0

вы можете вставить вам код деятельности b –

ответ

0

Начните свою деятельность B с намерением, используя метод startActivity (Intent).

Ваше намерение должно быть создано с аргументами A.this и B.class, в результате чего код смотрит несколько как это:

Намерение я = новый Intent (A.this, B.class);

A.this.startActivity (i);

+0

В вашем случае я не могу получить результат от деятельности «B» –

Смежные вопросы