Android与JavaScrpit相互调用

来源:互联网 发布:药品说明书查询软件 编辑:程序博客网 时间:2024/06/10 16:38

在使用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()");




0 0
原创粉丝点击