Android WebView addJavascriptInterface无效原因

来源:互联网 发布:大学生用lv 知乎 编辑:程序博客网 时间:2024/05/14 17:53

今天再写Android WebView 的时候,发现addJavascriptInterface里面的方法在JS里无法被调用,折腾了一个中午,才发现是因为在Android4.2以后,为了安全问题,需要在方法前加入“@JavascriptInterface”注解。

如下:

webSettings.setJavaScriptEnabled(true);        mWebView.addJavascriptInterface(new Object() {            @JavascriptInterface            public void clickMoreOnAndroid() {                mHandler.post(new Runnable() {                    public void run() {                        Toast.makeText(MainActivity.this, "测试!", Toast.LENGTH_SHORT).show();                    }                });            }        }, "demo");

加入注解后,WebView 中JS 调用成功,调用方法:

<a onclick="window.demo.clickMoreOnAndroid()">

记录下来,下次碰到不用再折腾。。。

0 0
原创粉丝点击