1

我已经在 HTC 和 MI2 以及一些三星设备上测试了我的应用程序,它运行良好。

但是在索尼设备上,它根本不起作用。

Java 代码:

mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.addJavascriptInterface(new TestInterface(), "jsjava");

    public class TestInterface {
        @JavascriptInterface
        public void login() {
            Log.d("TEST", "js call java ok");
        }
    }

html和js代码:

<script>
    function login(response){
        window.jsjava.login();
    }
</script>

<div class="land"><a href="javascript:login();">Login</a></div>

日志消息“js call java ok”不会出现在索尼设备上,比如 xperia。

我确保在设备上启用了 javascript 支持,但它仍然无法正常工作。

请帮忙。

4

1 回答 1

2

解决了!

添加

webView.setWebChromeClient(new WebChromeClient());

webView.getSettings().setJavaScriptEnabled(true);

并将 @JavascriptInterface 添加到将从 javascript 调用的每个函数。

于 2014-07-25T04:21:18.313 回答