如何绑定按键与程序

来源:互联网 发布:华为视频矩阵切换器 编辑:程序博客网 时间:2024/06/06 20:14
如果要绑定功能键与相应的应用程序,必须要修改frameworks并对此键进行拦截,下面就以HOME键为例:
    修改文件frameworks\base\services\java\com\android\server\WindowManagerService.java
    1。在文件的开始处添加变量:static boolean flag = false;
    2。在函数int dispatchKey(KeyEvent event, int pid, int uid)的最开始处添加代码:
    if(event.getKeyCode() == KeyEvent.KEYCODE_HOME )
    {
        if(event.getAction() == KeyEvent.ACTION_DOWN)
{
            if(!flag && event.isLongPress()){
                flag = true;
            }
        }else if(event.getAction() == KeyEvent.ACTION_UP){
            if(flag)
            {
                //处理长按
                ... ...
            }else
            {
                //处理短按
                ... ...
            }
        }
        return INJECT_FAILED;
    }
    在相应的注释处加入必要的代码。   
    然后重新make.
需要注意的是:如果不让用户更改绑定的app,需要把app内置进系统。