android如何屏蔽home back power按键(现保存以后很可能会需要的)

一般来说我们会在某些时候对home back和power键进行屏蔽,比如说工厂模式
  这个时候,我们可以选择修改WindowsManagerService.java这个类,在相关的地方进行下屏蔽,这里需要针对当前运行的是某个特殊应用的时候才给予屏蔽。
  如果说是对home键进行屏蔽,我们可以在应用的代码中加入语句:
public void onAttachedToWindow() {
            // TODO Auto-generated method stub
            //注意是TYPE_KEYGUARD_DIALOG而不是TYPE_KEYGUARD,可以屏蔽home键
            this.getWindow().setType(
                            WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
            super.onAttachedToWindow();

    }即可



android 屏蔽按键

  1. UiModeManager uiModeManager = (UiModeManager )getSystemService(Context.UI_MODE_SERVICE);  
  2.           
  3.         if(uiModeManager.getCurrentModeType()==UiModeManager.DISABLE_CAR_MODE_GO_HOME){  
  4.             uiModeManager.enableCarMode(UiModeManager.ENABLE_CAR_MODE_GO_CAR_HOME);  
  5.             flag = true;  
  6.             return;  
  7.         } 


public boolean dispatchKeyEvent (KeyEvent event)

Since: API Level 1
Called to process key events. You can override this to intercept all key events before they are dispatched to the window. Be sure to call this implementation for key events that should be handled normally.
Parameters
event

  1. @Override
  2. public boolean dispatchKeyEvent(KeyEvent event)
  3. {
  4.         switch (event.getKeyCode()){
  5.                 case KeyEvent.KEYCODE_VOLUME_UP:   //音量键+
  6.                 case KeyEvent.KEYCODE_VOLUME_DOWN:   //音量键-
  7.                 case KeyEvent.KEYCODE_CAMERA:  //拍照键
  8.                 case KeyEvent.KEYCODE_HOME:   //拍HOME键
  9.                         return true; //这些标记为处理过,则不在往内部传递
  10.                 default:
  11.             break;
  12.     }
  13.     return super.dispatchKeyEvent(event);
  14. }



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值