//安卓端代码
WebView myWebView = (WebView) findViewById(R.id.myWebView);
myWebView.getSettings().setJavaScriptEnabled(true);
//给webview添加js接口(供js调用安卓的方法)
myWebView.addJavascriptInterface(new JavaScriptinterface(this),
"android");
myWebView.setWebViewClient(new myWebViewClient());
创建JavaScriptinterface类:
public class JavaScriptinterface {
Context context;
public JavaScriptinterface(Context c) {
context= c;
}
/**
* 与js交互时用到的方法,在js里直接调用的
* 加上@JavascriptInterface注解
*/
@JavascriptInterface
public void showToast(String content) {
Toast.makeText(mContext, content, Toast.LENGTH_LONG).show();
}
}
//JS端代码(“shwoToast”是安卓端定义的方法名,“android”是安卓端在addJavascriptInterface方法中自己定义的名字)
<script type="text/javascript">
function showAndroidToast() {
android.showToast("安卓方法被调起");
}
</script>
</head>
<body>
<input type="button" value="调用安卓方法"
onClick="showAndroidToast()"/>
</body>
//安卓调用js方法(“giveRecord”是js中的方法名,可以随意命名,双方约定好名字即可,value是该方法的参数,如果没有参数,不传参即可)
mwebView.loadUrl("javascript:giveRecord('" + value + "')");