Как уничтожить предыдущую деятельность

Итак, у меня есть 2 действия, скажем, A и B. A переходит к B, я хочу, чтобы действие A было убито или сделало его неиспользуемым / невидимым, когда оно направлено из B. Так должно быть, когда я нажимаю кнопку "Назад" на B, это действие не должен открывать действие A, вместо этого он должен идти в трей приложений.

также активность A должна вернуться, когда я очищаю данные приложения, спасибо.

1 ответ

Решение

Вы можете сделать это одним из двух способов. Сначала завершается ActivityA, поэтому его нельзя возобновить позже. При запуске ActivityB из ActivityA вы должны сделать что-то вроде этого:

Intent intent = new Intent(this, ActivityB.class);
startActivity(intent);
this.finish();

Другой способ - просто завершить ActivityA, когда он получает какой-либо результат от ActivityB. Этот код также будет в ActivityA.

Для запуска ActivityB:

Intent intent = new Intent(this, ActivityB.class);
startActivityForResult(intent, REQUEST_ACTIVITYB);

Чтобы убедиться, что ActivityA не возобновляется:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if(requestCode == REQUEST_ACTIVITYB) {
        finish();
    }
}

REQUEST_ACTIVITYB это просто инт по вашему выбору.

Другие вопросы по тегам