如何禁用返回按钮在安卓而注销应用程序?


当前回答

只需重写onBackPressed()方法。

@Override
public void onBackPressed() { }

其他回答

如果你想处理设备上的后退按钮,重写onBackPressed方法并什么都不做。

@Override
public void onBackPressed() {
   if (shouldAllowBack()) {
       super.onBackPressed();
   } else {
       doSomething();
   }
}

如果你想禁用backpressed,你不用super.OnBackPressed();

@Override
public void onBackPressed() {

}

如果你想在注销时禁用应用程序,你可以弹出一个不可取消的对话框。

Android 13 Kotlin

onBackPressedDispatcher.addCallback(object: OnBackPressedCallback(true) {
            /* override back pressing */
            override fun handleOnBackPressed() {
                //Your code here
            }
        })

除了这两种方法,从上面的答案。

onBackPressed() (API Level 5, Android 2.0) onKeyDown() (API Level 1, Android 1.0)

你也可以像这样重写dispatchKeyEvent()(API Level 1, Android 1.0),

dispatchKeyEvent() (API Level 1, Android 1.0)

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
    // TODO Auto-generated method stub
    if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
        return true;
    }
    return super.dispatchKeyEvent(event);
}