【问题标题】:How to disable android hardware buttons programmatically?如何以编程方式禁用android硬件按钮?
【发布时间】:2014-10-10 10:09:41
【问题描述】:

我正在开发具有锁定功能的 android 应用程序。请建议我如何以编程方式禁用所有硬键。在这里,我使用下面的代码来禁用后退按钮。我希望以编程方式为所有硬键(如主页、菜单按钮、通知栏)提供此功能。

【问题讨论】:

    标签: android


    【解决方案1】:

    用于返回按钮(在活动或片段中)

    @Override
        public void onBackPressed() {
    }
    

    【讨论】:

      【解决方案2】:
        @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

      【讨论】:

      • 现在可以试试吗?
      • 你改变了什么?它不工作?我想禁用主页按钮点击事件。
      • 如果您想禁用主页按钮,那么您可以将您的应用程序设为默认启动器。我在我的 Redmi Note 4 上试过这个,效果很好。在 manifest 文件的 start Activity 标签中使用以下代码
      【解决方案3】:

      在 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);   
          }
      

      【讨论】:

      • WindowManager.LayoutParams.TYPE_KEYGUARD 不可用。
      猜你喜欢
      • 2010-10-21
      • 2017-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-12
      • 1970-01-01
      • 2012-02-21
      相关资源
      最近更新 更多