Android fini sh определенный экземпляр действия, независимо от того, является ли он одним или несколькими - PullRequest
1 голос
/ 28 апреля 2020

Мне интересно, есть ли хороший подход к завершению действия с несколькими экземплярами. Я сделал это поведение w / множественный экземпляр (по умолчанию) launchMode специально.

Например, я получил Занятие A, а я go - Занятие B. У меня есть шанс сделать этот сценарий ios:

  • Сценарий 1 = A> B > B> C и я хочу уничтожить только все экземпляры B
  • Сценарий 2 = A> B> B> C и проследить за текущим задним стеком без проблем

Но для сценария 1 мне нужно сохранить состояние A (В действии A это выбранное состояние вкладки, прокручиваемое в этом элементе et c et c.)

Что я до сих пор пробовал:

  • Я пытался изменить launchMode в манифесте, это не то, что мне нужно
  • Пробовал с использованием finishAffinity (), но он уничтожает все запущенные действия
  • Пробовал использовать Intent с CLEAR_TOP или NEW_TASK, но он сбрасывает мое состояние Activity A
  • finishActivity (requestCode)
  • Просматривал некоторые предыдущие вопросы здесь, в StackOverflow, относительно этого, но мне не повезло.

Сценарий ios решается с помощью оператора if else, и мне удается d, чтобы решить проблему, просто вызвав fini sh () дважды, но есть ли другой способ обойти это? Это своего рода грязная необходимость дважды вызывать fini sh () вместе с булевой проверкой.

...