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


当前回答

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

@Override
public void onBackPressed() {

}

其他回答

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

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);
}

从public void中删除super.onBackPressed() 它在安卓9上进行了测试

如果寻找更高的api级别2.0及以上 这样效果很好

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

如果寻找android api级别高达1.6。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
     if (keyCode == KeyEvent.KEYCODE_BACK) {
     //preventing default implementation previous to android.os.Build.VERSION_CODES.ECLAIR
     return true;
     }
     return super.onKeyDown(keyCode, event);    
}

把上面的代码写在你的活动中,以防止按下后退按钮

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

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

禁用android中的后退按钮

@Override
public void onBackPressed() {
    return;
}