使用toggleSoftInput和dispatchKeyEvent捕获非ascii KeyEvent

时间:2017-08-28 17:04:27

标签: java android android-activity keyevent

我试图从软键盘中捕获非ascii字符(不使用EditText)。

要切换我使用的软键盘:

     InputMethodManager inputMethodManager = (InputMethodManager)editScreen.getActivity()
            .getSystemService(INPUT_METHOD_SERVICE);
     inputMethodManager.toggleSoftInput (InputMethodManager.SHOW_FORCED,
            InputMethodManager.HIDE_IMPLICIT_ONLY);

然后从活动开始:

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
    char keyChar = (char)event.getUnicodeChar();
    int keyCode = event.getKeyCode();
    char keyLabel = event.getDisplayLabel();
    ...
    return false;
}

这适用于ASCII字符,但不适用于非ascii字符(德语,希伯来语)。 似乎事件甚至没有被注册。 如何让它与非ascii一起使用? 提前致谢

0 个答案:

没有答案