禁用后退按钮暂时

Ala*_*mri 4 android

我知道这个问题已在这里被多次询问,但我没有找到我的问题的属性答案.

此代码可以禁用后退按钮:

@Override
public void onBackPressed() {
    // Do Here what ever you want do on back press;
}
Run Code Online (Sandbox Code Playgroud)

但无论如何,我可以暂时禁用后退按钮,而不是整个活动?

Dix*_*tel 13

它是禁用后退按钮的完美解决方案

   @Override
   public void onBackPressed() {

    if(condition to check){
       // this block disable back button

    }else{
       // this block enable back button
        super.onBackPressed();       

    }

}
Run Code Online (Sandbox Code Playgroud)


sti*_*ike 5

Dixit 的回答很好。只是另一种选择

public boolean onKeyDown(int keyCode, KeyEvent event) {
    boolean result = false;
    if (keyCode == KEYCODE_BACK) {
        if (condition) {
            result =  true;
        }
    }
    return result;
}
Run Code Online (Sandbox Code Playgroud)

注意..

  • 它也适用于古代版本

  • 从 onKeyDown 返回 true 使用默认行为