如何在android中禁用后退按钮

Sam*_*Sam 13 android back-button

我正在进行交换应用程序...我想禁用后退按钮.所以我使用这个代码...并将意图传递给它..

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)  {
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
        // do something on back.
        return true;
    }

    return super.onKeyDown(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)

但是当我按下模拟器上的后退按钮时它会更新活动,但是当我按下后退按钮时它会切换到模拟器的主页..请建议是他们的任何其他方法

Sau*_*eek 62

@Override
public void onBackPressed() {
    // do nothing.
}
Run Code Online (Sandbox Code Playgroud)

  • 这种情况真的已经持续了两年多了,并且从"虚假"方法中"不回归真实"吗?来吧......这里有几个更完整和正确的答案. (2认同)

Ali*_*raf 17

 @Override
 public void onBackPressed() {

    //super.onBackPressed();
    if(SOME_CONDITION_TO_CHECK){
        //THIS BLOCK WILL NOT DO ANYTHING AND WOULD DISABLE BACK BUTTON             
    }else{
       super.onBackPressed();
       //THIS BLOCK WILL BE CALLED IF ABOVE COND IS FALSE, AND WOULD ENABLE BACK BUTTON
    }   

 }
Run Code Online (Sandbox Code Playgroud)


Cod*_*key 6

你试过onBackPressed()吗?

@Override
public void onBackPressed() {
       // Do as you please
}
Run Code Online (Sandbox Code Playgroud)