手机
当前位置:查字典教程网 >编程开发 >安卓软件开发 >Android给自定义按键添加广播和通过广播给当前焦点输入框赋值
Android给自定义按键添加广播和通过广播给当前焦点输入框赋值
摘要:一、给自定义按键添加广播修改PhoneWindowManager.java中的interceptKeyBeforeDispatching方法...

一、给自定义按键添加广播

修改PhoneWindowManager.java中的interceptKeyBeforeDispatching方法

/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java

Android给自定义按键添加广播和通过广播给当前焦点输入框赋值1

@Override public long interceptKeyBeforeDispatching(WindowState win, KeyEvent event, int policyFlags) { final boolean keyguardOn = keyguardOn(); final int keyCode = event.getKeyCode(); final int repeatCount = event.getRepeatCount(); final int metaState = event.getMetaState(); final int flags = event.getFlags(); final boolean down = event.getAction() == KeyEvent.ACTION_DOWN; final boolean canceled = event.isCanceled(); final boolean longPress = (flags & KeyEvent.FLAG_LONG_PRESS) != 0; final boolean virtualKey = event.getDeviceId() == KeyCharacterMap.VIRTUAL_KEYBOARD; final String isCitKeyTest=SystemProperties.get("persist.sys.startCitKeyTest"); //添加自定义按键广播----开始 switch (keyCode) { case 135: case 136: case 137: case 139: { if (repeatCount == 0) { Intent myKeyIntent = new Intent(); if(down) { myKeyIntent.setAction("com.rscja.android.KEY_DOWN"); } else { myKeyIntent.setAction("com.rscja.android.KEY_UP"); } myKeyIntent.putExtra("keycode", keyCode); mContext.sendBroadcastAsUser(myKeyIntent, UserHandle.ALL); } } break; } //添加自定义按键广播----结束 …… …… …… …… }

二、通过广播给当前焦点输入框赋值

修改InputMethodService.java中的onCreate()方法

/frameworks/base/core/java/android/inputmethodservice/InputMethodService.java

Android给自定义按键添加广播和通过广播给当前焦点输入框赋值2

Android给自定义按键添加广播和通过广播给当前焦点输入框赋值2

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

【Android给自定义按键添加广播和通过广播给当前焦点输入框赋值】相关文章:

android异步加载图片并缓存到本地实现方法

android图像绘制(三)画布刷屏问题记录

Android监听文件和目录动态

Android中 自定义数据绑定适配器BaseAdapter的方法

Android 注册广播方式及优缺点

android如何设置小区广播默认信道(50与60并支持双卡)

Android列表对话框和进度对话框

Android 监听apk安装替换卸载广播的实现代码

Android程序打开和对输入法的操作(打开/关闭)

Android自定义表格控件满足人们对视觉的需求

精品推荐
分类导航