什么触发(或生成)KeyEvent.ACTION_MULTIPLE?

Posted

技术标签:

【中文标题】什么触发(或生成)KeyEvent.ACTION_MULTIPLE?【英文标题】:What triggers (or generates) KeyEvent.ACTION_MULTIPLE? 【发布时间】:2013-02-23 13:03:19 【问题描述】:

KeyEvent.ACTION_MULTIPLE 的文档说:

"连续发生了多个重复的按键事件,或者一个复杂的 正在交付字符串。如果键码不是#link KEYCODE_UNKNOWN 然后 #link getRepeatCount() 方法返回 应执行给定键代码的次数。否则,如果 键码是KEYCODE_UNKNOWN,那么这是一个字符序列 由 getCharacters() 返回。"

但它并没有说明如何实际生成该事件。

    我尝试(快速)双击耳机的暂停/播放按钮,但收到的只是普通的 ACTION_UP 和 ACTION_DOWN。 我也试过按住耳机的暂停/播放按钮,但我收到的只是普通的 ACTION_UP 和 ACTION_DOWN。

如何生成KeyEvent.ACTION_MULTIPLE(作为用户,使用耳机控件)?

【问题讨论】:

【参考方案1】:

android 的 BaseMovementMethod 包含用于处理 ACTION_MULTIPLE 的代码,因此可能会在用户按住箭头键时生成按键自动重复事件。

【讨论】:

谢谢!这是第一个真正提供一些权威参考的答案。我无法测试箭头键,因为我没有?在只有触摸屏的典型智能手机上,我在哪里可以找到箭头键?暂时 +1(如果这是最好的答案,将接受)。 典型的智能手机没有有这个硬件。典型的智能手机也没有键盘、鼠标、触控板或 dpad,以列出 Android 支持的其他一些输入设备。【参考方案2】:

我不确定,但我认为 ACTION_MULTIPLE 可能会由例如蓝牙键盘上的实际按钮触发。我认为您刚刚获得 ACTION_UP 和 ACTION_DOWN 的原因是因为它们是耳机控件的预定义 KeyEvents。我希望这有帮助。 :)

【讨论】:

以上是关于什么触发(或生成)KeyEvent.ACTION_MULTIPLE?的主要内容,如果未能解决你的问题,请参考以下文章

Android点击软键盘搜索调用两次事件

Android Bug(?):onKey 之后声明它是 KeyEvent.ACTION_UP [重复]

Android KeyEvent event.getRepeatCount

怎样模拟发送key event按键消息和touch event触摸消息?

Android--双击退出程序

python基础-生成器