Android与JavaScrpit相互调用
16lz
2022-01-13
在使用webview的时候,可以需要我们去调用html的js方法,也可以需要js调用Android的方法
新建一个带webview的xml文件,在java文件中关联,配置
webview = (WebView) findViewById(R.id.webView1);webview.getSettings().setJavaScriptEnabled(true);webview.getSettings().setDefaultTextEncodingName("utf-8");webview.setBackgroundColor(Color.argb(0, 0, 0, 0));在java文件中新建一个 JavaScriptObjects类
final class JavaScriptObjects {//@JavascriptInterface 4.2之后都要加上@JavascriptInterfacepublic void fun1FromAndroid(final String name) {finish();}}
然后再我们项目的assets文件中新建一个html文件
加载这个html,传入我们创建的JavaScriptObject
webview.addJavascriptInterface(new JavaScriptObjects(), "myObjs");webview.loadUrl("file:///android_asset/js.html");在html的script标签中使用
<script> var aTag = document.getElementById('id'); aTag.addEventListener('click', function(){ //调用android本地方法 myObjs.fun1FromAndroid(); return false; }, false); </script>android调用我们的js方法
webview.loadUrl("javascript:javacalljs()");
更多相关文章
- android工具之TraceView学习笔记
- Android4.1 关于Rotation相关的Configuration整体分析3
- Android的线程使用来更新UI----Thread、Handler、Looper、TimerT
- Android中TabLayout添加小红点
- Android官方命令深入分析之Hierarchy Viewer
- 浅谈Java中Collections.sort对List排序的两种方法
- NPM 和webpack 的基础使用
- Python list sort方法的具体使用
- 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程