Как отключить кнопку «Домой» в Android 4.4.2

В моем приложении я должен отключить клавишу «Домой» устройства, моя вкладка поддерживает 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 --

person Sun    schedule 23.09.2014    source источник
comment
взгляните на этот SO Post, вы можете попробовать переопределить onKeyDown() для keyCode KeyEvent.KEYCODE_HOME, но это очень ненадежно, иногда метод не вызывается для кнопки «Домой»   -  person Sagar Pilkhwal    schedule 23.09.2014
comment
но как мне отключить кнопку домой   -  person Sun    schedule 23.09.2014
comment
@Солнце, ты пробовал мой ответ?   -  person rupesh    schedule 23.09.2014
comment
попробуйте ссылку, это сработало на моем 4.0.4   -  person The Billionaire Guy    schedule 25.08.2016


Ответы (3)


Попробуйте переопределить 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);
}
person Sagar Pilkhwal    schedule 23.09.2014

Нет.... Вы не можете переопределить кнопку «Домой» для Android 4.0 и выше.

Это из соображений безопасности.


Проверьте этот ответ от Commonsware для получения дополнительной информации

person Devrath    schedule 23.09.2014
comment
@FrancescoMontesano, это окончательно дает ответ на вопрос… - person kay; 23.09.2014
comment
@FrancescoMontesano ...... Это правильный ответ, я проверил это! - person Devrath; 23.09.2014
comment
хорошо, попался! Извините за суету тогда. я удалю комментарий - person Francesco Montesano; 23.09.2014

@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);
person rupesh    schedule 23.09.2014