时间:2021-05-20
一、给自定义按键添加广播
修改PhoneWindowManager.java中的interceptKeyBeforeDispatching方法
/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
@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
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Android中在有序广播中添加自定义权限的实例前言;有序广播说明:有序广播因为要处理消息的处理结果,所以要复杂一些。*sendOrderedBroadcast
本文实例为大家分享了Android自定义view实现输入框的具体代码,供大家参考,具体内容如下自定义输入框的Viewpackagecom.fenghongzha
Android启动内置APK和动态发送接收自定义广播实例详解工作中遇到这样一个需求,需要为按键添加一个亲情号,提供一个接口启动内置的APK,思考再三决定更改Fr
BroadcastReceiver不仅可以接收系统广播,也可接收自定义的广播1.定义一个广播接收器复制代码代码如下:publicclassMyReceivere
效果自定义密码输入框,项目的一个界面需求,我把这个自定义的输入框提取出来作为这次内容的题目。输入前:输入后:输入1个字符就红一个圈圈,很简单的效果。思路1.自定