Возобновить деятельность в Android

У меня есть приложение с 3 видами деятельности.

У меня есть основной вид деятельности. Это вызывает второе действие, которое затем вызывает третье действие. Я хочу вернуться к основной деятельности, не входя в onCreate.

Это код для третьего действия:

startActivity(new Intent(TerceraActiviry.this, Main.class));

4 ответа

Решение

Если твой Activity все еще работает, этот код выведет его на передний план без ввода onCreate

Intent openMainActivity= new Intent(TerceraActiviry.this, Main.class));
openMainActivity.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivityIfNeeded(openMainActivity, 0);

Чтобы вернуться к предыдущему действию, вы должны закончить видимое, используйте это:

finish();

Если действие было начато для результата, вы должны дать результат, например, так:

Intent intent = new Intent();
intent.putExtra(KEY_RESPONSE, responseData);
setResult(RESULT_OK, intent);
finish();

И вы должны поймать результат в деятельности вызывающей стороны, используя:

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

  switch (requestCode) {
    // Test for the code you have used to start the Activity
  }
}

Надеюсь, что это помогает, С уважением

Вы запускаете ActiveForResult вместо startActivity.

обратитесь к Android Dev для получения дополнительной информации здесь.

Нужный флаг режима запуска - clearTop. Это вернется к предыдущему экземпляру основного действия и удалит второе и третье действие из стека действий. Например, чтобы сделать это из кода:

Intent intent = new Intent(TerceraActiviry.this, Main.class));
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
Другие вопросы по тегам