Java 如何销毁以前的活动

Java 如何销毁以前的活动,java,android,android-activity,Java,Android,Android Activity,所以我有两个活动,比如A和B。A导航到B,我希望活动A被杀死,或者在B的指示下使其不可用/不可见。 所以当我按下活动B上的后退按钮时,它不应该打开活动A,而是应该进入应用程序托盘 当我清除应用程序数据时,活动A也应该返回 谢谢。您可以通过以下两种方式之一完成此操作。首先是完成活动A,以便以后无法继续。从ActivityA启动ActivityB时,您可以执行以下操作: Intent intent = new Intent(this, ActivityB.class); startActivity(

所以我有两个活动,比如A和B。A导航到B,我希望活动A被杀死,或者在B的指示下使其不可用/不可见。 所以当我按下活动B上的后退按钮时,它不应该打开活动A,而是应该进入应用程序托盘

当我清除应用程序数据时,活动A也应该返回
谢谢。

您可以通过以下两种方式之一完成此操作。首先是完成活动A,以便以后无法继续。从ActivityA启动ActivityB时,您可以执行以下操作:

Intent intent = new Intent(this, ActivityB.class);
startActivity(intent);
this.finish();
另一种方法是,当从ActivityB获得任何类型的结果时,只完成ActivityA。此代码也将在ActivityA中

要启动ActivityB:

Intent intent = new Intent(this, ActivityB.class);
startActivityForResult(intent, REQUEST_ACTIVITYB);
要确保ActivityA不会继续,请执行以下操作:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if(requestCode == REQUEST_ACTIVITYB) {
        finish();
    }
}
REQUEST\u ACTIVITYB
只是您选择的一个int。

启动活动B时调用活动A上的finish()