Android KeyEvent event.getRepeatCount

北城余情 提交于 2019-11-29 03:15:48

一些按键(Media Key Back Key)在系统分发时,做了特殊处理: 
当按下时,发送Message去调用KeyEvent.changeTimeRepeat 


这样长按时,会发多次KeyEvent.ACTION_DOWN,

第一次event.getRepeatCount()返回0; 
第二次event.getRepeatCount()返回1; 
……

避免长按多次调用onKeyDown之类的处理,常添加repeatCount == 0判断

if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
  return true;
}
return super.onKeyDown(keyCode, event);

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!