Android 4.4.2 和软键盘。选项菜单是可能的吗? 发生"Unimplemented WebView method onKeyDown called from"



有人发了这个....

在4.4.2 (api level 19)中,当使用软(软件)键盘时,WebView不再正确地接收javascript中的按键事件。javascript函数没有被调用。
我已经在模拟器和运行4.4.2.Nexus 4上确认了这一点,我附上了一个示例网页。对于模拟器,LogCat显示这些提示问题的消息:

04-07 23:59:22.613: E/chromium(2271): [ERROR:immediate_input_router.cc(507)] We seem to have a different key type sent from the renderer. (7 vs. 10). Ignoring event.
04-07 23:59:22.613: E/chromium(2271): [ERROR:immediate_input_router.cc(504)] Got a KeyEvent back from the renderer but we don't seem to have sent it to the renderer!
04-07 23:59:22.633: E/chromium(2271): [ERROR:immediate_input_router.cc(504)] Got a KeyEvent back from the renderer but we don't seem to have sent it to the renderer!
04-07 23:59:54.203: W/UnimplementedWebViewApi(2271): Unimplemented WebView method onKeyDown called from: android.webkit.WebView.onKeyDown(WebView.java:2169)

所以,有没有办法看到optionmenu在Android 4.4.2 &软键盘吗?当我触摸软键盘菜单按钮时,logcat显示

08-08 17:25:55.138: W/UnimplementedWebViewApi(22840): Unimplemented WebView method onKeyDown called from: android.webkit.WebView.onKeyDown(WebView.java:2169)

我的建议是:

您可以将webview客户端附加到webview。然后你可以在类中覆盖一个扩展了BaseInputConnection的方法:

@Override
public boolean sendKeyEvent(KeyEvent event) {
    return super.sendKeyEvent(event);
    // call webview client method here to let javascript know what key was pressed
}

希望这对你有帮助。

最新更新