我是新来的Android应用程序的开发。如何在Android中关闭总体应用程序?
我开发了一个android应用程序,在这个应用程序中,当用户按下退出按钮时,我称之为finish()方法。此方法仅关闭当前活动。
我的要求是,当我在退出按钮点击,就应该关闭所有活动,它显示的菜单页面。这可能吗?
我是新来的Android应用程序的开发。如何在Android中关闭总体应用程序?
我开发了一个android应用程序,在这个应用程序中,当用户按下退出按钮时,我称之为finish()方法。此方法仅关闭当前活动。
我的要求是,当我在退出按钮点击,就应该关闭所有活动,它显示的菜单页面。这可能吗?
该对象已接受了一些讨论,here是一个应该包含大部分的您正在寻找的信息。
另请参阅Android Documentation on Activities中的活动生命周期和流程生命周期,以了解关闭应用的方式和原因。
当你从一个活动到乙活动,呼吁finish()
。所以在android stack
一个活动会得到finish() or get killed
。当您按下背面或顶部活动退出按钮,然后栈变空,然后你就进入菜单屏幕或主屏幕。
例如:当你从一个活动将B活性执行下面的步骤:
startActivity(new Intent(A.this, B.class));
finish();
所以你一个活动得到完成,&新乙活动得到启动。在这里,当你按下返回按钮或退出按钮时,你将进入主屏幕或菜单屏幕。
这里,我们有两种方法到finish or kill
上后退按钮按下应用。
使用finish()
这关闭或完成的Android屏幕上的当前活动。
例如:你有两个活动,即一个 & 乙。你会使用意图从启程活动乙活动,现在前景胡亚蓉是乙,你想回去&杀乙活动&转到一个胡亚蓉使用finish()
的onclick后退按钮的。如果您对一个活动,则它将关闭应用程序。见下面的代码。
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
finish();
}
return super.onKeyDown(keyCode, event);
}
使用android.os.Process.killProcess(android.os.Process.myPid());
杀死应用程序即强行关闭应用程序&后藤下面的代码家里screen.see。
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
// Kills & force closes the app
android.os.Process.killProcess(android.os.Process.myPid());
}
return super.onKeyDown(keyCode, event);
}
我的要求是当我点击退出按钮时,它应该关闭所有活动并显示菜单页面。
假设“菜单页”是你的一个活动,叫startActivity()
,与Intent
识别你的“菜单页面”,并包括FLAG_ACTIVITY_CLEAR_TOP
和FLAG_ACTIVITY_SINGLE_TOP
为标志您Intent
。这将清除您的任务中的所有活动,并将现有的“菜单页”带到前台(如果没有,则创建“菜单页”的实例)。
没有生产代码应该使用'killProcess()'。 – CommonsWare
@CommonsWare - 你的权利,不应该使用killProcess()。这不是一个好习惯。 –