android与js交互
// 设置编码
webView.getSettings().setDefaultTextEncodingName("utf-8");
// 支持js
webView.getSettings().setJavaScriptEnabled(true);
//参数1为传递的android对象,参数2为传递对象的变量名称之后JS中使用变量名进行对对象的操作
webView.addJavascriptInterface(new TestJs(), "testObj");
注意点:
@JavascriptInterface//安卓4.0以上需要在被JS调用的方法上添加此注释否则无法调用到,4.0一下版本可以调用到
安卓调用Js:
String invokeJs = "\"sdffeafsf\"";//传递字符串参数需要加上双引号
String javascript = "javascript:showString(" + invokeJs +");";
webView.loadUrl(javascript);
JS调用安卓方法:
testObj.jsMethod("invokeAndroid");
原文地址:http://xuguohongai.blog.51cto.com/4291348/1843077