长按物理按键,onKeyDown()方法不断地被触发

cailingyun0129 2013-06-24 02:56:09
按住一个物理按键不放,发现onKeyDown()发放不断地被触发,请问如何拦截按键的长按事件,即长按某个按键,让onKeyDown()只执行一次(我是在源码的作的开发),或者是系统处理按键长按的代码在哪儿?
...全文
504 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cailingyun0129 2013-06-27
  • 打赏
  • 举报
回复
规避了这个问题了,现在的做法是驱动层一次上报两个键值,一个down ,一个up,再在上层拦截这两个按键的up消息,来模拟一个键的down和up
MR__P 2013-06-24
  • 打赏
  • 举报
回复
给分吧,亲!
MR__P 2013-06-24
  • 打赏
  • 举报
回复
你参考这个就行 /* * 屏蔽手机菜单键长按 */ @Override public boolean dispatchKeyEvent(KeyEvent event) { if (event.getRepeatCount() > 0 && event.getKeyCode() == KeyEvent.KEYCODE_MENU) { return true; } return super.dispatchKeyEvent(event); }
autowanglei 2013-06-24
  • 打赏
  • 举报
回复
你试试 开个线程,sleep一下再判断该键是否还是按下状态。
cailingyun0129 2013-06-24
  • 打赏
  • 举报
回复
会哥,可是我要做的拦截这个长按的事件,现在是背光会常亮,不会灭屏
引用 楼主 cailingyun0129 的回复:
按住一个物理按键不放,发现onKeyDown()发放不断地被触发,请问如何拦截按键的长按事件,即长按某个按键,让onKeyDown()只执行一次(我是在源码的作的开发),或者是系统处理按键长按的代码在哪儿?
小裴同学 2013-06-24
  • 打赏
  • 举报
回复
true false 会不。当执行第一次为false,然后判断为false就不执行,会不

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧