admin管理员组文章数量:1576799
https://m.2cto/kf/201611/563390.html
第一次事件拦截 interceptKeyBeforeQueueing
返回0则意味着事件被拦截,返回1则意味着事件允许被发送到应用程序中
第二次事件拦截 interceptKeyBeforeDispatching
private static final boolean warnopenOrclose = TopwiseProp.getDefaultSettingBoolean("default_lakala_fangchai_warnning",false);//返回值为-1则说明事件被拦截,返回值为0则说明事件被放行
@Override public long interceptKeyBeforeDispatching(WindowState win, KeyEvent event, int policyFlags) { final int keyCode = event.getKeyCode(); final int repeatCount = event.getRepeatCount();//重复次数 //add for 触发状态下禁止导航栏的功能 Log.i("wqtest","keyCode: " + keyCode); if(warnopenOrclose && SystemProperties.get("sys.fangchai.tigger","0").equals("1")){ if(keyCode == KeyEvent.KEYCODE_MENU||keyCode == KeyEvent.KEYCODE_HOME || keyCode == KeyEvent.KEYCODE_BACK){ return -1; } }if(keyCode == KeyEvent.KEYCODE_VOLUME_DOWN){ String title = win.getAttrs().packageName; if (title != null && (title.equals("com.topwise.pinpadservice"))){ return -1; } } }
版权声明:本文标题:事件分发前的拦截过程 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1727798837a1130589.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论