如果要绑定功能键与相应的应用程序,必须要修改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内置进系统。

更多相关文章

  1. 【学习笔记】Android中Service通信
  2. Android(安卓)- TextView添加图片
  3. android配置cocos2dx环境
  4. android ListView自定义适配器实现
  5. android studio 库工程添加变体功能
  6. Android(安卓)Studio中无法找到android.os.SystemProperties解决
  7. Android(安卓)App兼容android10.0系统需要修改那些东西,看这个就
  8. eclipse中绑定android源码
  9. Android(安卓)- 修改最小SDK版本(minSdkVersion)

随机推荐

  1. android CoordinatorLayout使用
  2. 自定义Dialog步骤
  3. android中怎样适应多个屏幕
  4. Android手机拍照(Android学习随笔九)
  5. android 界面着色推荐
  6. Runtime.exec 执行命令行
  7. Android(安卓)Accessibility : TalkBack
  8. 安卓指定横竖屏失效问题修复
  9. 图片处理
  10. Security and Permissions 安全与权限 (一