如何在Android上用硬件后退按钮捕获事件?

Dam*_*mir 37 android

如何在Android上用硬件后退按钮捕获事件?我需要让用户回去,当我点击手机上的后退按钮来显示消息而不是继续之前的活动.怎么做 ?

Pra*_*tik 67

你可以做到这一点

  1. 像这样将onBackPressed()方法覆盖到Activity中

    public void onBackPressed(){
         // do something here and don't write super.onBackPressed()
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 覆盖onKeyDown()方法

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        switch(keyCode){
        case KeyEvent.KEYCODE_BACK:
            // do something here 
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
    
    Run Code Online (Sandbox Code Playgroud)

  • 是否真的有必要重写`onKeyDown()`?当按下后退键时,不会调用`onBackPressed()`吗? (2认同)

kas*_*rch 9

onBackPressed()无论Activity您想为后退按钮创建不同的行为,都要覆盖该方法.

这些问题与您的问题相同(可以通过简单的搜索找到):

如何在android中禁用后退按钮

在android中禁用后退按钮