【问题标题】:How do I disable Home button in Android 4.4.2 [duplicate]如何在 Android 4.4.2 中禁用主页按钮 [重复]
【发布时间】:2014-09-23 09:00:25
【问题描述】:

在我的应用中,我必须禁用设备的 Home 键,我的标签支持 android 4.4.2

我知道如何禁用后退按钮功能,我在下面使用了该功能

@Override
public void onBackPressed() {
}

但我担心How to disable Home button functionality ?

我尝试了下面的代码来禁用主页按钮,但没有得到任何帮助

// to disable home button -- START --   
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
    if(keyCode == KeyEvent.KEYCODE_HOME)
    {
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
// to disable home button -- END --

【问题讨论】:

  • 看看这个SO Post,你可以尝试覆盖onKeyDown() for keyCode KeyEvent.KEYCODE_HOME,但是它非常不可靠,有时Home Button没有调用该方法
  • 但是我必须如何禁用主页按钮
  • @Sun 你试过我的答案了吗?
  • 试试 link 这在我的 4.0.4 上工作

标签: android android-homebutton android-hardware home-button


【解决方案1】:

尝试覆盖onKeyDown()

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
    if(keyCode == KeyEvent.KEYCODE_HOME)
    {
        Log.d("Test", "Home button pressed!");
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

【讨论】:

    【解决方案2】:

    不.... Android4.0 及以上版本无法覆盖主页按钮

    这是出于安全原因。


    Check this answer from Commonsware for more information

    【讨论】:

    • @FrancescoMontesano,这明确地提供了问题的答案......
    • @FrancescoMontesano ......这是一个正确的答案,我已经测试过了!
    • 好的,明白了!抱歉当时大惊小怪。我会删除评论
    【解决方案3】:
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
    if (item.getItemId() == android.R.id.home) {
        // put your logic here.
         }
    return true;
    }
    

    或者你可以试试这个:

    ActionBar actionBar;
        actionBar = getActionBar();
        actionBar.setHomeButtonEnabled(false);
        actionBar.setDisplayHomeAsUpEnabled(false);
    

    【讨论】:

      猜你喜欢
      • 2013-03-02
      • 1970-01-01
      • 2013-06-15
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      • 2012-11-13
      • 1970-01-01
      • 2012-01-09
      相关资源
      最近更新 更多