收听WebView的javascript调用

时间:2011-11-30 13:37:28

标签: android android-webview

我有以下HTML

<div>
    <input type="submit" onClick="anyJSFunction('Test')">
</div>

我在WebView上打开它:

        web = new WebView(this);

        WebSettings settings = web.getSettings();
        settings.setJavaScriptEnabled(true);
        settings.setJavaScriptCanOpenWindowsAutomatically(true);
        settings.setSupportMultipleWindows(false);
        settings.setSupportZoom(false);
        settings.setPluginsEnabled(true);
        settings.setDomStorageEnabled(true);

        web.setVerticalScrollBarEnabled(false);
        web.setHorizontalScrollBarEnabled(false);

        web.loadUrl("file:///sdcard/test.html");

现在我想在调用'anyJSFunction'时听Java,并且能够获得它的参数。

怎么做?

1 个答案:

答案 0 :(得分:6)

WebView的文档中有一个不错的例子。寻找“将JavaScript代码绑定到Android代码。”

您将构建一个类作为从JavaScript到Java / Android的接口。您创建一个实例并将其传递给WebView。然后JavaScript代码可以按名称引用类实例。