Android 返回按钮关闭应用程序
我有一个启动屏幕,它通向一个主导航屏幕,其中有动画来介绍按钮。我想要的是在按下后退按钮时关闭应用程序。它当前在调用return按钮时重新加载活动(main)——这是为什么 我在论坛上四处查看,其中一种方法是使用finish()方法。我尝试在main.java类中实现这一点,如下所示:Android 返回按钮关闭应用程序,android,Android,我有一个启动屏幕,它通向一个主导航屏幕,其中有动画来介绍按钮。我想要的是在按下后退按钮时关闭应用程序。它当前在调用return按钮时重新加载活动(main)——这是为什么 我在论坛上四处查看,其中一种方法是使用finish()方法。我尝试在main.java类中实现这一点,如下所示: public boolean onKeyDown(int keyCode, KeyEvent event) { if( keyCode == KeyEvent.KEYCODE_BACK ) {
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if( keyCode == KeyEvent.KEYCODE_BACK )
{
this.finish();
return true;
}
return false;
}
但是上面这些都没有做到——我做错了什么
干杯
更新
所有人都为迅速的答复欢呼,但这些都不起作用。但是我想我可能知道为什么——我的类只实现onCreate()方法,其他的都没有。这可能是所有其他方法都失败的原因吗
更新
您好-我对它进行了分类,但目前我不明白为什么这样做有效&其他方法不起作用:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ( keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0 )
{
// do something on back.
moveTaskToBack( true );
return true;
}
return super.onKeyDown(keyCode, event);
}
那么,为什么这项工作和ekawas演示的onBackPressed()中使用的finish()方法不起作用呢?可能是在onKeyDown之前获得keydown事件。如果我要这样做,我会从启动屏幕活动a调用。返回一个布尔值,告诉活动退出,然后完成基本活动。确保在调用
startActivity
后在启动屏幕活动中调用finish
,然后在onKeyDown
中尝试此操作:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0){
finish();
}
return super.onKeyDown(keyCode, event);
}
在你的活动中这样做,而不是听按键
@overide
public void onBackPressed() {
finish();
return;
}