Если вам нужно особое поведение ActivityA
при возвращении с ActivityB
, вам следует использовать startActivityForResult(Intent intent, int requestCode)
вместо startActivity(Intent intent)
:
startActivityForResult(new Intent(this, ActivityB.class), REQUEST_CODE);
Таким образом, вы сможете обнаружить завершение ActivityB
в ActivityA
путем перегрузки onActivityResult(int requestCode, int resultCode, Intent intent)
:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if (requestCode == REQUEST_CODE) {
doRefresh(); // your "refresh" code
}
}
Это работает, даже если вы прервете ActivityB
нажатием кнопки возврата. resultCode
будет по умолчанию RESULT_CANCELLED
.