我们应该在哪里使用finish()来结束应用程序?

时间:2010-12-28 18:11:18

标签: android

在我的应用程序中,用户从一个活动转到另一个活动,反之亦然。我在事件“onClick”上使用Intents调用活动。

public void onClick(DialogInterface dialog, int whichButton) {
                    Intent intent = new Intent();
                    intent.setClass(Field.this,Boll.class);
                    startActivity(intent);
                    finish();
                }

在按下后退按钮后使用应用程序后,应用程序必须结束并应返回主屏幕。

然而,在我的应用程序中发生的事情是,当单击“后退”按钮时,活动仍然在堆栈中并逐个追溯(即到之前的状态),最后返回到主屏幕。

我了解到Android负责退出应用程序from here

请让我知道我应该在哪里添加finish()以便完成堆栈中的所有活动并返回主屏幕(即结束应用程序)。

1 个答案:

答案 0 :(得分:7)

您应该尝试将noHistory属性添加到您的活动中

http://developer.android.com/guide/topics/manifest/activity-element.html#nohist

您不应手动处理堆栈。没有办法“完成”应用程序中的所有活动。 Android旨在从中断的地方选择应用程序。将“后退”按钮关闭而非关闭当前活动可能会让您的用户感到非常困惑和沮丧。