2014-10-10 4 views
0

Я разрабатываю приложение для Android с функцией блокировки. предложите мне, как программно отключить все жесткие клавиши. здесь я использую код beleow для отключения кнопки возврата. Я хочу, чтобы эта функциональность для всех жестких клавиш, таких как home, кнопка меню, панель уведомлений в android программно.Как программно отключить аппаратные кнопки Android?

ответ

0

для кнопки возврата (активность или фрагмента)

@Override 
    public void onBackPressed() { 
} 
0
@Override 

public boolean onKeyDown(int keyCode, KeyEvent event) { 

switch(event.getKeyCode()) { 

    case KeyEvent.KEYCODE_MENU: 
     result = true; 
     break; 

    case KeyEvent.KEYCODE_VOLUME_UP: 
     result = true; 
     break; 
    case KeyEvent.KEYCODE_VOLUME_DOWN: 
     result = true; 
     break; 
    case KeyEvent.KEYCODE_BACK: 
     result = true; 
     break; 
    default: 
     result= super.dispatchKeyEvent(event); 
     break; 
} 

return result; 
} 

and check this also

+1

Его не работает в версии Android 4.4. – user2210356

+0

не могли бы вы попробовать? –

+0

Что вы изменили? это не работает? Я хочу отключить событие нажатия кнопки дома. – user2210356

0

Override домашней кнопки в Android/Отключить кнопку дома в Android/Оставайтесь на вашей деятельности при нажатии кнопки домой в андроиде

@Override 
    public void onAttachedToWindow(){ 
     Log.i("TESTE", "onAttachedToWindow"); 
     this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); 
     super.onAttachedToWindow(); 
    } 
    public boolean onKeyDown(int keyCode, KeyEvent event){ 
     if (keyCode == KeyEvent.KEYCODE_HOME) { 
      Log.i("TESTE", "BOTAO HOME"); 
      return true; 
     } 
     return super.onKeyDown(keyCode, event); 
    } 
+0

WindowManager.LayoutParams.TYPE_KEYGUARD недоступен. – Abhi

Смежные вопросы