Android 安卓:我怎样才能退出应用程序?
在我的android应用程序中,我更改了后退按钮功能,使其进入游戏的主屏幕,现在它位于主屏幕上,我应该如何使用后退按钮退出整个应用程序Android 安卓:我怎样才能退出应用程序?,android,Android,在我的android应用程序中,我更改了后退按钮功能,使其进入游戏的主屏幕,现在它位于主屏幕上,我应该如何使用后退按钮退出整个应用程序 public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK ) { Assets.getInstance().getClick().play(1); this.clearScreenSta
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK ) {
Assets.getInstance().getClick().play(1);
this.clearScreenStack();
this.setScreen(new MainMenuScreen(this));
return true;
}
return super.onKeyDown(keyCode, event);
}
安卓的设计不支持选择退出应用程序,而是通过操作系统来管理应用程序。您可以根据其相应的意图启动Home应用程序:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
选中谷歌不鼓励退出按钮,你应该让操作系统来处理它 请阅读:
如果你真的想退出,我也帮不了你,但我想我应该提到这一点。你也可以检查用户是否输入了两次后退按钮
boolean backPressed = false;
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && !backPressed) {
Assets.getInstance().getClick().play(1);
this.clearScreenStack();
this.setScreen(new MainMenuScreen(this));
backPressed = true;
return true;
}
backPressed = false;
return super.onKeyDown(keyCode, event);
}
如果您有一个机制可以用来查看显示的屏幕,您可以执行以下操作:
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK ) {
if(mainScreenIsShowing == true){
//If the main screen is showing let the back button
//have its default behavior.
return super.onKeyDown(keyCode, event);
}else{
Assets.getInstance().getClick().play(1);
this.clearScreenStack();
this.setScreen(new MainMenuScreen(this));
return true;
}
}
return super.onKeyDown(keyCode, event);
}
这是一个值得商榷的话题,但我看不出有什么问题,或者当按下后退按钮时应用程序退出。毕竟,调用finish()是back按钮的默认行为。如果处理主屏幕的活动位于活动堆栈的底部,则调用finish()将退出应用程序 我建议如下:让MainMenuScreen在单独的活动MainMenuActivity中处理,MainMenuActivity是主要活动。finish()返回MainMenuActivity时的其他活动,并在MainMenuActivity中按如下方式处理onKeyDown:
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK ) {
this.finish()
}
}
你看过问题了吗?OP要求使用后退按钮退出应用程序(这是android的股票行为),而不是实现退出按钮。OP希望后退按钮上有退出按钮功能。基本相同。但是“后退”按钮的默认行为是调用堆栈顶部活动的finish()。。。他只是想弄清楚如何在主屏幕显示时使其具有默认行为。