我有3项活动:
在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活动?
答案 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();
}