我有一对必须生或死的活动。基本上 AlphaActivity 会做一些工作,然后startActivityForResult()
为 BetaActivity 发送一个意图 ( )。当 BetaActivity 完成后,我希望它startActivity()
为 GammaActivity 调度一个意图 (),然后调用finish()
它自己。完成后,我希望调用 AlphaActivity 的onActivityResult()
方法,但这似乎永远不会发生。我的设计是这样的,在 AlphaActivity 的内部onActivityResult()
,我调用finish()
. 我的计划是,一旦达到 GammaActivity,用户将永远无法返回 AlphaActivity 或 BetaActivity。但目前后退按钮确实将用户带到了 AlphaActivity。
我确实有一些想法为什么它不起作用,但是在这里讨论它们是没有意义的,因为我对可能真正起作用的东西感兴趣。
编辑:
代码都是非常标准的东西:
从阿尔法内部
private void startBetaActivity() {
Intent intent = new Intent(this, BetaActivity.class);
startActivityForResult(intent, Constant.EXIT_CODE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == Constant.EXIT_CODE) {
this.finish();
}
}
}
从 Beta 内部:
if (success) {
startGammaActivity();
finish();
}