JS和Android交互
Posted 卜筮老人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS和Android交互相关的知识,希望对你有一定的参考价值。
//本地webview写法
webview = (WebView) findViewById(R.id.webview); webview.loadUrl("http://192.168.1.103/index.html"); webview.getSettings().setjavascriptEnabled(true); //允许js脚本运行 webview.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); webview.getSettings().setBuiltInZoomControls(true); webview.getSettings().setJavaScriptEnabled(true); webview.addJavascriptInterface(new JsToJava(mContext),"mObject");//添加映射对象到js
js代码
body> <a>js中调用本地方法</a> <script> function funFromjs(){ document.getElementById("helloweb").innerHTML="HelloWebView,i‘m from js"; } var aTag = document.getElementsByTagName(‘a‘)[0]; aTag.addEventListener(‘click‘, function(){ //调用android本地方法 myObj.fun1FromAndroid("调用android本地方法fun1FromAndroid(String name)!!"); return false; }, false); </script> <p></p> <div id="helloweb"> </div> </body> </html>
本地和js映射的对象:
public class JavaScriptObject { Context mContxt; public JavaScriptObject(Context mContxt) { this.mContxt = mContxt; } public void fun1FromAndroid(String name) { Toast.makeText(mContxt, name, Toast.LENGTH_LONG).show(); } public void fun2(String name) { Toast.makeText(mContxt, "调用fun2:" + name, Toast.LENGTH_SHORT).show(); } }
以上是关于JS和Android交互的主要内容,如果未能解决你的问题,请参考以下文章
Android-webview和js脚本语言交互的时候怎么获取js方法的返回值