WebView&关键事件

时间:2014-03-28 01:55:47

标签: javascript android webview keyevent

我的活动中存在KeyCodes问题,导致创建WebView&加载URL。我注意到当我按下键盘上的键或IR遥控器上的按钮时,它不会调用WebView中的onKeyDown()方法。我猜测它会直接调用基础JavaScript(只要传递正确的密钥代码就可以了)

我遇到的问题是我的IR遥控器上的一些按键只是传递为0(如指南,信息,彩色按钮,它们都用于播放相关选项)。但是,某些键可以正常工作(例如数字按钮)。知道keyCodes被劫持的任何想法吗?我检查了EventHub& InputDispatcher,他们似乎有正确的代码。我是否需要检查chromium / android_webview代码库中的某个位置?这是我正在使用的片段:

private class myWV extends WebView
{
    public myWV(Context context)
    {
        super(context);
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) 
    {
        Log.e("myWV", "onKeyDown: " +keyCode);
        return super.onKeyDown(keyCode, event);
    }
}


@Override
public void onCreate(Bundle icicle) 
{
    Log.d(TAG, "onCreate");
    Toast.makeText(getApplicationContext(), "Please wait while we look for available TV channels...", Toast.LENGTH_LONG).show();

    super.onCreate(icicle);

    mWebView = new myWV(this);
    mWebView.setWebViewClient(new WebViewClient());
    mWebView.setWebChromeClient(new WebChromeClient());

    Log.e(TAG, "onCreate: Calling setJavaScriptEnabled");
    mWebView.getSettings().setJavaScriptEnabled(true);

    mWebView.loadUrl(mURL);

    // Enable the view
    setContentView(mWebView);
}

非常感谢任何提示

1 个答案:

答案 0 :(得分:0)

在Chromium中找到处理关键事件的代码段。刚刚在那里添加了我的特殊键。它现在就像一个魅力