当我按手机上的返回键时调用哪种方法?

Posted

技术标签:

【中文标题】当我按手机上的返回键时调用哪种方法?【英文标题】:Which method is called when I press back key on my phone? 【发布时间】:2010-11-23 23:05:33 【问题描述】:

我有一个有很多活动的应用程序,所有活动都是用ONACTIVITYRESULT 创建的。

当我按下返回键时调用哪个方法?

我需要知道它,因为我必须在上面写上override/implement 代码。

【问题讨论】:

这不是调用你之前的活动吗?我在某个地方找到了一些代码,您可以在其中覆盖后退按钮,将对其进行查找。 听起来是个坏主意。如果用户按下 HOME 键会怎样?还是按住HOME键?还是使用通知进行其他活动?还是接听电话? 我回答中的代码只会覆盖后退按钮。 【参考方案1】:

调用的方法是:您当前的ActivityonKeyDown

您可以使用它来定位所有 android 版本:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)  
      if (keyCode == KeyEvent.KEYCODE_BACK) 
          return true;
      

   return super.onKeyDown(keyCode, event);

如果您的目标是更新 Android 设备,Android 2.0 及更高版本的 API 让事情变得更容易:

@Override
public void onBackPressed() 
    return;

【讨论】:

【参考方案2】:

你可以试试这个。检查许可证后,我在页面上有此代码。如果我的用户回击,我不希望他们再次进入许可证检查页面,所以我只是退出了应用程序。你不必退出应用程序,你可以在这里调用任何你想要的......

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)

    // Quit if back is pressed     
    if (keyCode == KeyEvent.KEYCODE_BACK)
    
        moveTaskToBack(true);
        return true;
    
    return super.onKeyDown(keyCode, event);

【讨论】:

以上是关于当我按手机上的返回键时调用哪种方法?的主要内容,如果未能解决你的问题,请参考以下文章

jquery 怎么判断是不是点击手机上的返回键?求大神指点!

当我按下一个键时没有调用 keyPressed() 方法?

当我在 vba powerpoint 中按下一个键时调用一个 Sub

Android:铵手机上的返回键,照理来说是跳转到主页面的,但它有时却跳转到了登录页面,求救,我是菜鸟。

在按下完成或uitextfield的返回键时调用函数

添加片段后,前一个片段仍然可见