What triggers (or generates) KeyEvent.ACTION_MULTIPLE?

与世无争的帅哥 提交于 2019-12-04 17:35:44

问题


The documentation for KeyEvent.ACTION_MULTIPLE says:

"multiple duplicate key events have occurred in a row, or a complex string is being delivered. If the key code is not {#link KEYCODE_UNKNOWN then the {#link getRepeatCount() method returns the number of times the given key code should be executed. Otherwise, if the key code is KEYCODE_UNKNOWN, then this is a sequence of characters as returned by getCharacters()."

But it doesn't say how to actually generate that event.

  1. I tried (rapidly) double-clicking the headset's Pause/Play button, but all I receive is ordinary ACTION_UP and ACTION_DOWN.
  2. I also tried pressing and holding down the headset's Pause/Play button, but all I receive is ordinary ACTION_UP and ACTION_DOWN.

How do I generate a KeyEvent.ACTION_MULTIPLE (as a user, using a headset control)?


回答1:


Android's BaseMovementMethod includes code for handling ACTION_MULTIPLE so presumably the event is generated for key auto-repeat when the user holds down an arrow key.




回答2:


I'm not sure, but I would think that ACTION_MULTIPLE would probably be triggered by actual buttons on a blutooth keyboard for instance. I think that the reason you're just getting ACTION_UP and ACTION_DOWN is because those are the pre-defined KeyEvents for your headset controls. I hope this helps. :)



来源:https://stackoverflow.com/questions/15286312/what-triggers-or-generates-keyevent-action-multiple

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