Удаление экземпляра старой активности при запуске нового действия

Я хочу удалить / удалить старый экземпляр активности, когда создается новый экземпляр (той же активности), но мне нужно поддерживать все другие действия в back-stack (поэтому FLAG_ACTIVITY_CLEAR_TOP не будет достаточным).

Например, скажем, у меня есть действия A, B и C. Я начинаю: A -> B -> C -> B. В начале второго действия B мне нужно удалить существующее действие B. Поэтому у меня теперь есть: A -> C -> B работает …

Любая помощь оценивается.

Кажется, что удаление активности не так просто, как я мог себе представить, поэтому не полный ответ, но я собираюсь использовать FLAG_ACTIVITY_REORDER_TO_FRONT. Это не приведет к уничтожению существующей активности, но вместо этого переместит ее в начало стека.

 Intent intent = new Intent(ctx, Activity.class); intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivity(intent); 

Это позволит осуществить навигацию по действиям, описанную выше.

Меня все еще интересует, знает ли кто-нибудь о том, как очистить действительную активность.

Я могу сделать это, переопределив onNewIntent

  @Override protected void onNewIntent(Intent intent) { Bundle extras = intent.getExtras(); Intent msgIntent = new Intent(this, MyActivity.class); msgIntent.putExtras(extras); startActivity(msgIntent); finish(); return; super.onNewIntent(intent); } 

Делать одну задачу

  <activity android:name=".MyActivity" android:launchMode="singleTask" > </activity> 

Вы можете использовать флаги Intent для удаления более ранней задачи. Надеюсь, это поможет.

 Intent intent = new Intent(this, Activity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); startActivity(intent); 

Этот флаг приведет к тому, что любая существующая задача будет связана с активностью, подлежащей очистке, до начала действия. То есть, деятельность становится новым корнем пустой задачи, и все старые действия завершены.

Intereting Posts
Аварийные сигналы DialogFragment. При вызове функции startActivity () EditText getText () возвращает пустую строку Попросите сканер штрих-кода вместо клавиатуры в веб-просмотре Имитировать бегущий жест в Android ActivityInstrumentationTestCase2 Многопоточная правильность: использование синхронизированного блока Android 2.2: Как обновлять текстовые изображения автоматически с помощью таймера? Поддерживает ли Android одновременно несколько HTTP-запросов? Установить ширину TextView с точки зрения символов Меню параметров – удаление фокуса с элемента Как получить url запроса в модификации 2.0 с rxjava? OnCreateOptionsMenu вызывается после onResume на JB 4.2 Перенаправление аудио / создание альтернативных звуковых дорожек в Android Как я могу получить исходные данные GPS (псевдо-диапазон спутников)? Как создать интерактивную карту на Android Принудительное видео для воспроизведения в портретной ориентации только с использованием MediaPlayer и VideoView