Не уверен, как это сделать:
Current activity is: A
I want to start activity: B
Но я хочу, чтобы пользовательский интерфейс действия B полностью загружался до завершения действия A.
Что мне нужно:
Current activity is: A
Start new activity: B
Activity B loads completely
Activity A finishes
Мне это нужно, потому что пользовательский интерфейс активности B полупрозрачный при запуске. После анимации фон активности становится непрозрачным. Пока это происходит, отображается домашний экран, потому что действие A заканчивается быстро.
Заранее спасибо.
Activity#finish()
методомHandler#postDelayed()
. Любопытно, почему вы хотите закрытьActivity A
вручную? - person Leandro   schedule 21.08.2014overridePendingTransition
, но анимация выхода только задерживает начало новой активности. Он не допускает перекрытия. Фрагмент кажется единственным другим решением. Но это означало бы преобразование всей моей деятельности во фрагменты — я пытаюсь этого избежать. - person Athena   schedule 21.08.2014Handler#postDelayed()
после того, как действие находится в состоянии паузы? Оба действия A и B являются непересекающимися действиями, доступными только через панель навигации. Нажатие назад в действии B не должно переводить пользователя в действие A — таким образом, вызовfinish()
. - person Athena   schedule 21.08.2014broadcastreceivers
должен быть зарегистрирован вonResume()
и не зарегистрирован вonPause()
. Как действие A будет получать широковещательную рассылку, поскольку она уже прошлаonPause()
? - person Athena   schedule 21.08.2014Activity A
, просто не возвращайтесь к ним, если нажата кнопка назад. Если вы открылиActivity B
только для одного действия, вы можете сделатьActivity#startActivityForResult()
, сделать то, что вам нужно, вActivity B
и переопределитьActivity#onActivityResult()
вActivity A
, чтобы закрыть его. - person Leandro   schedule 21.08.2014startActivityForResult
сработает в моем случае. Каждое действие в навигационном ящике (всего 7) является независимым по функциональности. Таким образом, всякий раз, когда любой из них запускается, они должны оставаться в корне задачи. Например, когда запускается B, B должен быть корневым. То же самое касается любой другой деятельности. - person Athena   schedule 21.08.2014