как говорится в заголовке вопроса, мне нужно знать, как лучше всего «удалить»/уничтожить/завершить действие, которое находится где-то в середине стека и в настоящее время находится в режиме паузы (не конкретные экземпляры, а конкретные производные классы).
например:
если текущее состояние стека выглядит так:
ActivityD <-- top of the stack, currently forground
ActivityC
ActivityA
ActivityC
ActivityA
запрос на «очистку» всех экземпляров ActivityC приведет к тому, что стек будет выглядеть так:
ActivityD <-- still top of the stack, currently forground.
ActivityA
ActivityA
Я не хочу этого делать, это зависит от режима запуска активности или флагов намерения. Я знаю, как их использовать и их преимущества.
что я в настоящее время знаю, что могу сделать, так это отправить трансляцию, которую будут прослушивать все действия, которые необходимо уничтожить, и вызвать Activity.finish() при получении трансляции.
это работает, но требует, чтобы получатели были зарегистрированы, даже когда их активность хостинга приостановлена, и я не уверен, что метод "finish()", вызванный из приостановленной активности, является правильным.
правильно ли вызывать метод Activity.finish() из возобновленной активности?
правильно ли зарегистрировать приемник в методе OnCreate() и отменить его регистрацию в OnDestroy()?
правильно ли обрабатывать трансляцию из возобновленной активности и с этого момента вызывать finish()?
есть ли «способ Android» или какой-то API, о котором я не знаю, чтобы очистить действия из стека?
заранее спасибо
paused
? а неresumed
? - person Teng-pao Yu   schedule 21.12.2018