原文出自本人笔记:https://my.oschina.net/shawnxia/blog/632725
现已迁移至此。
最近接到一个重新定义耳机按键键功能的需求,其中Hook键集4个功能于一身,着实折腾了一番。
最后在同事的提醒下,想到了采用handler的延时消息机制。思路如下:
按钮点击,捕获事件,计数器+1,如果时间间隔大于延时时间,那么上一次的消息就已经触发了,上一次连击事件就判定结束了,此时将计数器置为0,重新开始计数;
如果时间间隔小于延时时间,那么先将上一次发出的消息(此时还未被触发)remove掉,然后重新发送新的消息。大致流程如下:
领取专属 10元无门槛券
私享最新 技术干货