如何以编程方式禁用android硬件按钮?

时间:2014-10-10 10:09:41

标签: android

我正在开发具有锁定功能的android应用程序。请建议我如何以编程方式禁用所有硬键。在这里我使用beleow代码禁用后退按钮。我希望这个功能适用于所有硬键,如主页,菜单按钮,Android中的通知栏,以编程方式。

3 个答案:

答案 0 :(得分:1)

  @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 :(得分:0)

用于后退按钮(在活动或片段中)

@Override
    public void onBackPressed() {
}

答案 2 :(得分:0)

覆盖Android中的主页按钮/在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);   
    }