我是新手Android应用程序开发者。
我开发了一个Android应用程序,在该应用程序中,当用户按下返回或退出按钮时,我调用finish()方法。这个方法只关闭当前活动。
我的要求是:当我点击退出按钮时,它应该关闭所有活动并显示菜单页面。这可能吗?
finish()
。因此,在android stack
中,A活动将会获得finish()
或被杀死。当您在顶部活动上按下返回或退出按钮时,堆栈将变为空,并且您将回到菜单屏幕或主屏幕。startActivity(new Intent(A.this, B.class));
finish();
当你的A活动完成并启动了新的B活动。在这里,当您按下返回按钮或退出按钮时,您将返回主屏幕或菜单屏幕。
我们有两种方法来在按下返回按钮时结束或终止应用程序。
Using finish()
which closes or finishes the current activity on android screen.
for example : you have 2 activities i.e A & B. You ll go from A activity to B activity using intent, now foreground acitivity is B, you want to go back & kill B activity & goto A acitivity use finish()
onclick of backbutton. If your on A activity then it closes the app. see below code.
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
finish();
}
return super.onKeyDown(keyCode, event);
}
Using android.os.Process.killProcess(android.os.Process.myPid());
which kills the app i.e force close the app & goto the home screen.see below code.
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
,并在Intent
上包含FLAG_ACTIVITY_CLEAR_TOP
和FLAG_ACTIVITY_SINGLE_TOP
作为标志。这将清除任务中的所有活动,并将现有的“菜单页面”置于前台(如果没有,则创建“菜单页面”的实例)。