2013-03-08 5 views
12

KeyEvent.ACTION_MULTIPLE에 대한 문서는 말한다 :KeyEvent.ACTION_MULTIPLE을 트리거 (또는 생성)하는 것은 무엇입니까?

"여러 중복 키 이벤트가 연속적으로 발생, 또는 키 코드가 {#link 다음 {#link KEYCODE_UNKNOWN가 아닌 경우 복잡한 문자열이 전달되고있다. getRepeatCount() 메서드는 주어진 키 코드를 실행해야하는 횟수를 반환하고, 그렇지 않은 경우 키 코드가 KEYCODE_UNKNOWN 인 경우 getCharacters()에서 반환 한 문자 시퀀스 을 반환합니다.

그러나 은 실제로 해당 이벤트를 생성하지 않습니다.

  1. 나는 (빠르게) 더블 클릭 헤드셋의 일시 정지/재생 버튼을했지만, 내가받는 모든 일반 ACTION_UP 및 ACTION_DOWN입니다.
  2. 헤드셋의 일시 중지/재생 버튼을 누르고 있었지만 정상적인 ACTION_UP 및 ACTION_DOWN 만받습니다.

KeyEvent.ACTION_MULTIPLE (헤드셋 컨트롤을 사용하여 사용자로)을 어떻게 생성합니까?

답변

3

Android의 BaseMovementMethod에는 ACTION_MULTIPLE 처리 코드가 포함되어 있으므로 사용자가 화살표 키를 누른 상태에서 키 자동 반복을위한 이벤트가 생성되는 것으로 추정됩니다.

+0

감사합니다. 이것이 권위있는 참고 자료를 제공하는 첫 번째 답변입니다. 화살 열쇠를 가지고 있지 않기 때문에 화살 열쇠를 시험 할 수 없었습니다. 터치 스크린이있는 일반 스마트 폰의 화살표 키는 어디에서 찾을 수 있습니까? 지금 +1하십시오 (주변의 가장 좋은 답변 인 경우 동의합니다). – ih8ie8

+1

일반적인 스마트 폰에는이 하드웨어가 없습니다. 일반적인 스마트 폰에는 Android가 지원하는 다른 입력 장치를 나열하는 키보드, 마우스, 트랙 패드 또는 dpad도 없습니다. –

0

잘 모르겠지만 ACTION_MULTIPLE은 아마도 예를 들어 blutooth 키보드의 실제 버튼에 의해 트리거 될 것입니다. 나는 당신이 ACTION_UP과 ACTION_DOWN을 얻는 이유가 그것들이 당신의 헤드셋 컨트롤들을위한 미리 정의 된 KeyEvents이기 때문이라고 생각한다. 이게 도움이 되길 바란다. :)