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

Gam*_*oid 1 android

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

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

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

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

从这里了解到Android负责退出应用程序

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

Fal*_*rri 7

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

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

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