Android组合按键功能定制(Framework)

涉及文件

alps/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java

修改位置

interceptKeyBeforeQueueing函数中

示例代码

isF1Pressed为自定义变量

        if (event.getAction() == KeyEvent.ACTION_DOWN) {            if (event.getKeyCode() == KeyEvent.KEYCODE_F1) {                isF1Pressed = true;            } else if (isF1Pressed) {                int currentBLLevel = adioGetBLLevel();                int keyValue = event.getKeyCode();                if (keyValue == KeyEvent.KEYCODE_DPAD_UP) {                    //F1 和 上键组合                } else if (keyValue == KeyEvent.KEYCODE_DPAD_DOWN) {                    //F1 和 下键组合                }            }        } else if (event.getAction() == KeyEvent.ACTION_UP) {            if (event.getKeyCode() == KeyEvent.KEYCODE_F1) {                isF1Pressed = false;            }        }

追加:

可以在组合键处,利用Instrumentation模拟按键发放,可自定义向应用层发送按键。

萌新,欢迎讨论。

更多相关文章

  1. Android平台开发-Android(安卓)keypad map-Android按键事件
  2. [翻译] Android(安卓)+ TensorFlow机器学习示例
  3. Android平台开发-Android(安卓)keypad map-Android按键事件
  4. Android之Input子系统事件分发流程
  5. Android文件读写简单示例
  6. Android读写文件示例
  7. Android(安卓)的网络编程(5)-通过ksoap2调用webservice示例
  8. Android追加写入文件的几种方法
  9. 我的Android计算器

随机推荐

  1. Android(安卓)Texting(2)Testing Fundament
  2. Android(安卓)开发平台配置
  3. Android中日志信息的打印方式
  4. Android-设置手机桌面
  5. Could not find com.android.tools.build
  6. android背景选择器总结
  7. Android(安卓)开发环境的构建备忘
  8. android viewholder
  9. android闹钟
  10. 【Android】从源码中探讨Handler机制