如何在android上用硬件后退按钮捕捉事件?

如何在android上用硬件后退按钮捕捉事件?,android,Android,如何在android上用硬件后退按钮捕捉事件?我需要禁止用户返回,当我点击手机上的“返回”按钮时,显示信息,而不是继续之前的活动。如何做到这一点?在任何活动中覆盖方法onBackPressed(),以创建与后退按钮不同的行为 这些问题与您的问题相同(可以通过简单搜索找到): 你可以这样做 像这样将onBackPressed()方法重写到活动中 public void onBackPressed(){ // do something here and don't write super

如何在android上用硬件后退按钮捕捉事件?我需要禁止用户返回,当我点击手机上的“返回”按钮时,显示信息,而不是继续之前的活动。如何做到这一点?

在任何
活动中覆盖方法
onBackPressed()
,以创建与后退按钮不同的行为

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

你可以这样做

  • 像这样将onBackPressed()方法重写到活动中

    public void onBackPressed(){
         // do something here and don't write super.onBackPressed()
    }
    
  • 重写onKeyDown()方法

  • 您可以在活动中使用
    onKeyDown()
    抑制用户“后退”操作,如下所示:

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event)
    {
        if ((keyCode == KeyEvent.KEYCODE_BACK))
        {
            //do actions like show message
            return false;
        }
        return super.onKeyDown(keyCode, event);
    }
    

    是否确实需要覆盖
    onKeyDown()
    的可能重复?当按下后退键时,不会调用
    onBackPressed()
    吗?@LarsH,以防您仍在疑惑:不会。第一个解决方案是针对API级别5(Android 2.0)及以上。第二种解决方案适用于API级别<5的情况。指
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event)
    {
        if ((keyCode == KeyEvent.KEYCODE_BACK))
        {
            //do actions like show message
            return false;
        }
        return super.onKeyDown(keyCode, event);
    }