Возобновить деятельность в 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);