Мне пришлось реализовать то же самое для моего проекта. В итоге я заменил:
startActivity (я); с startActivityForResult (i, UniqueId); во всех действиях я хотел быть частью «стека истории».
Затем реализовано:
setResult(UniqueId);
finish();
в активности ребенка, когда я хотел закрыть ребенка и вернуться в «дом / корень».
В родительском упражнении я реализовал:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == UniqueId && resultCode == UniqueId) {
setResult(UniqueId);
finish();
}
super.onActivityResult(requestCode, resultCode, data);
}
Что фактически означает, что если дочернее действие отправило результат "home / root" (представленный UniqueId), то все родители этого дочернего действия использовали "startActivityForResult (i, UniqueId)" закроется также.
Надеюсь, что имеет смысл?