【发布时间】:2016-04-11 10:00:36
【问题描述】:
我有两个不同的活动。第一个启动第二个。我想从第二个 Activity 关闭应用程序,但使用 finish() 会自动显示第一个 Activity 而不是关闭应用程序。如何避免这种情况?
【问题讨论】:
-
当您从当时的第一个活动开始第二个活动时调用完成
-
感谢哥们,它工作得很好:)
标签: android
我有两个不同的活动。第一个启动第二个。我想从第二个 Activity 关闭应用程序,但使用 finish() 会自动显示第一个 Activity 而不是关闭应用程序。如何避免这种情况?
【问题讨论】:
标签: android
正如@user3676184 提到的,您可以完成第一个活动,然后再启动第二个活动。即
在您启动第二个活动的第一个活动中实施这一点。
Intent intent = new Intent(ActivityOne.this, ActivityTwo.class);
startActivity(intent);
finish(); //this will finish ActivityOne and only ActivityTwo will be present and when you call finish in ActivityTwo it will close.
【讨论】:
我想从第二个 Activity 关闭应用程序,但使用 finish() 第一个活动会自动显示而不是关闭 应用程序。我怎样才能避免这种情况?
因为FirstActivity 被添加到返回堆栈中,当按下SecondActivity 上的返回按钮时弹出返回。
要获得所需的行为,在启动 SecondActivity 后,在 FirstActivity 中调用 finish() 方法以从堆栈中删除:
Intent intent=new Intent(FirstActivity.this,SecondActivity.class);
startActivity(intent);
FirstActivity.this.finish(); //<< close FirstActivity here
【讨论】:
当您从第一个活动开始第二个活动时,然后调用方法 finish() 喜欢,
Intent i = new Intent(FirstActivity.this,SecondActivity.class);
startActivity(i);
finish();
【讨论】: