关闭应用程序的android后退按钮

时间:2013-07-19 16:13:09

标签: android

我的简单应用只是加载一个网站,在网站上是一些主题所以我想如果有人点击后退按钮返回索引(到最后一个网页), 我在MainActivity.java中有这段代码

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        moveTaskToBack(true);
    }
    return super.onKeyDown(keyCode, event);
}      
@Override
public void onBackPressed() {
    moveTaskToBack(true);
}

按下按钮后,它正在关闭我的应用程序,哪里可能有问题?

2 个答案:

答案 0 :(得分:3)

当webView使用onKeyDown方法中的后台事件时,您应该返回true。

   @Override
   public boolean onKeyDown(int keyCode, KeyEvent event)
  {
    if ((keyCode == KeyEvent.KEYCODE_BACK) && web.canGoBack()) {
        web.goBack();
        return true;
    }
    return super.onKeyDown(keyCode, event);
   }

在您的代码中,您将后退事件传播到主Activity,这意味着它将完成。

来源:http://developer.android.com/reference/android/view/View.html#onKeyDown(int,android.view.KeyEvent)

  

返回如果处理了该事件,则返回true。如果您希望允许事件由下一个接收者处理,则返回false。

答案 1 :(得分:1)

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK) && web.canGoBack()) {
        web.goBack();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}