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");