禁用活动中的电源按钮

我正在开发一款应用程序,其中有一项要求是不让用户使用电源按钮锁定屏幕或关闭Android设备,因此我必须禁用电源按钮并覆盖电源按钮功能,我也在互联网上搜索了很多次,但什么也找不到。我已经使用了这两段代码,但它仍然不适用于我。

 @Override
      public boolean dispatchKeyEvent(KeyEvent event) {
              if (event.getKeyCode() == KeyEvent.KEYCODE_POWER) {
                      Log.i("", "Dispath event power");
                      Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
                      sendBroadcast(closeDialog);
                      return true;
              }

              return super.dispatchKeyEvent(event);
      }
      public boolean onKeyDown(int keyCode, KeyEvent event)
      {
          if (keyCode == KeyEvent.KEYCODE_POWER) {
                // Back
                moveTaskToBack(true);
                return true;
            }

            else {
                // Return

请帮我提前道谢。


解决方案

任何安卓应用都无法处理Power事件。Events of电源按钮are handled in Framework level in Android architecture。您无法停止framework来调度事件,而是接受其调度。您可以从框架接收事件调度的结果,但不会阻止进程。

相关文章