startActivityForResult 2来自1个父Activity的活动如何,当只有1个孩子被完成时获取onActivityResult

时间:2016-05-18 13:36:30

标签: java android android-intent android-activity android-lifecycle

我有3项活动:

  • A:家长活动
  • B:第一次儿童活动
  • C:第二次儿童活动

在A活动中,单击按钮时打开B活动

Intent i = new Intent(this,  ActivityB.class);
startActivityForResult(i, 1); 

在A Activity中有一个Runnable对象,在某些情况下会打开C Activity

Intent i = new Intent(this,  Activityc.class);
startActivityForResult(i, 2); 

所有工作和设备上我都看到C活动超过A活动而不是A活动,但是当我在活动中this.finish();关闭C活动时onActivityResult()事件未被触发。只有当我关闭B活动时它才会被解雇。

当C活动关闭并让B活动打开时,我怎么知道A活动?

1 个答案:

答案 0 :(得分:0)

每当您希望退出所有打开的活动时,您应按下一个按钮,该按钮会加载应用程序启动时运行的第一个活动,然后清除所有其他活动,然后完成最后剩余的活动。这样做在你的项目中应用以下代码

Intent intent = new Intent(getApplicationContext(), FirstActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("EXIT", true);
startActivity(intent);

上述代码完成除FirstActivity之外的所有活动。然后我们需要完成FirstActivity' s在Firstactivity的oncreate中输入以下代码

if (getIntent().getBooleanExtra("EXIT", false)) {
    finish();
}

Please See this