zoukankan      html  css  js  c++  java
  • Android 禁用以及捕捉home键

    最近要做个小项目,其中有需要禁止home键的需求,一开始以为不可以,感觉得root一下才行,后来查了一下,发现还是不少朋友都实现了这个功能,现在也引用一下,供大家参考一下:

    1. 在activity中加上这段代码就可以屏蔽home键(onKeyDown事件会捕捉到home键)。


    public void onAttachedToWindow()   
    {     
           this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);        
           super.onAttachedToWindow();     
    }   
      
      2.因为android系统自己对与home键power键在PhoneWindowManager中做了处理,不会返回到上层应用的。以下为系统源码
    frameworkspoliciesasephonecomandroidinternalpolicyimplPhoneWindowManager.java 1089行   
        
    if (code == KeyEvent.KEYCODE_HOME) {   
        
                // If a system window has focus, then it doesn't make sense    
                // right now to interact with applications.    
                WindowManager.LayoutParams attrs = win != null ? win.getAttrs() : null;   
                if (attrs != null) {   
                    final int type = attrs.type;   
                    if (type == WindowManager.LayoutParams.TYPE_KEYGUARD   
                            || type == WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG) {   
                        // the "app" is keyguard, so give it the key    
                        return false;   
                    }   
                    final int typeCount = WINDOW_TYPES_WHERE_HOME_DOESNT_WORK.length;   
                    for (int i=0; i<typeCount; i++) {   
                        if (type == WINDOW_TYPES_WHERE_HOME_DOESNT_WORK[i]) {   
                            // don't do anything, but also don't pass it to the app    
                            return true;   
                        }   
                    }   
                }   
     type == WindowManager.LayoutParams.TYPE_KEYGUARD这一句,我们可以看到,android对于锁屏特殊判断了,所以我就模拟这个进行的实现,只是有一点,activity中重写onAttachedToWindow()方法需要api 5以上。

     摘自 xiaoxiaobian3310903的专栏

  • 相关阅读:
    绿茶一杯辨蜂蜜
    将Windows桌面扩展到第二个显示器/投影机上
    各种茶的特点和挑选(未完)
    转载一位操盘手的惊人语录 
    大家看看这个资料,有助于你了解股市
    庄家的故事之000503海虹控股
    股本变迁,分红扩股数据调查
    onchange 和 onkeyup,onpropertychange 用法小记
    对范美忠事件的评论
    一位天涯的朋友在星期一晚上发来的留言
  • 原文地址:https://www.cnblogs.com/catWang/p/3318458.html
Copyright © 2011-2022 走看看