java与Js交互

栏目: Java · 发布时间: 8年前

内容简介:java与Js交互

现在越来越多的app使用原生和H5混合开发了,可以减少开发周期。

一、android调用JS代码。

mWeb.loadUrl("javascript:upload_img('" + mPicUrl + "')")

这是直接调用js的upload_img的方法。

举个例子:

js的代码如下:

function callJS(){
      alert("Android调用了JS的callJS方法");
   }

Android调用这个代码:

mWeb.loadUrl("javascript:callJS()");

二、js调用Android代码:

首先webView需要设置:

WebSettings webSettings = mWebView.getSettings();
 // 设置可以与Js交互的权限
   webSettings.setJavaScriptEnabled(true);
//实例化Javascript对象
    final JavaScriptInterface myJavaScriptInterface = new JavaScriptInterface(this);
// 通过addJavascriptInterface()将 Java 对象映射到JS对象
//参数1:Javascript对象名
//参数2:Java对象名
   mWebView.addJavascriptInterface(myJavaScriptInterface, "AndroidFunction");

JavaScriptInterface类代码:

private class JavaScriptInterface {
        Context mContext;

        JavaScriptInterface(Context c) {
            mContext = c;
        }

        @JavascriptInterface
        public void pushView(String title,String url) {
            Intent intent = new Intent(this, MainActivity.class);
            intent.putExtra("title", title);
            intent.putExtra("url", url);
            startActivity(intent);
        }
}

需要注意的是pushView()方法就是js调用Android的方法,这个方法必须要在方法上面加上注解:@JavascriptInterface,不然js是无法调用pushView()这个方法的。

js代码如下:

AndroidFunction.pushView('评价',url);

转载时请注明出处及相应链接,本文永久地址:http://blog.it985.com/23199.html

java与Js交互

java与Js交互 微信打赏

java与Js交互 支付宝打赏

感谢您对作者Bob的打赏,我们会更加努力!    如果您想成为作者,请点我


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

信号与噪声

信号与噪声

[美] 纳特•西尔弗 / 胡晓姣、张新、朱辰辰 / 中信出版社 / 2013-8 / 69.00元

【编辑推荐】 从海量的大数据中筛选出真正的信号, “黑天鹅”事件也可提前预知! “本书将成为未来十年内最重要的书籍之一。”——《纽约时报》 “对于每一个关心下一刻可能会发生什么的人来说,这都是本必读书。”——理查德•泰勒 《华尔街日报》2012年度10本最佳非虚构类图书之一 《经济学人》杂志2012年度书籍 亚马逊网站2012年度10本最佳非虚构类图书之一......一起来看看 《信号与噪声》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具