android >WebView 实现 JS , JAVA 互调
16lz
2021-01-23
1、映射Java对象到JavaScript对象上
mWebView = (WebView) findViewById(R.id.wv_content); mWebView.setVerticalScrollbarOverlay(true); final WebSettings settings = mWebView.getSettings(); settings.setSupportZoom(true); //WebView启用Javascript脚本执行 settings.setJavaScriptEnabled(true); settings.setJavaScriptCanOpenWindowsAutomatically(true); //映射Java对象到一个名为”js2java“的Javascript对象上 //JavaScript中可以通过"window.js2java"来调用Java对象的方法 mWebView.addJavascriptInterface(new JSInvokeClass(), "HTMLOUT");
/**网页Javascript调用接口**/class JSInvokeClass { public void back() { activity.finish(); } }
JS 代码
window.HTMLOUT.back();
2、JavaScript调用Java对象示例
mWebView.loadUrl("javascript:window.HTMLOUT.back();");
如果是想传参数
/**网页Javascript调用接口**/class JSInvokeClass { public void back() { activity.finish(); } public void showHtml(String html) { Log.e("Html:"+html); } }
java 执行JS
mWebView.loadUrl("javascript:window.HTMLOUT.showHtml(document.documentElement.innerHTML);");
更多相关文章
- Android中回调接口的使用介绍
- Android对Window对象的管理机制分析
- android调用系统的分享接口
- android post请求接口demo
- Android 实现序列化:Parcelable和Serializable接口的用法
- android 5.0之后利用Intent传递Serializable对象存在问题
- AIDL(android 接口定义语言)
- ANDROID多点触控API接口的使用