admin 发表于 2016-8-18 16:01:58

Webview与javascript的互相调用

第一步 Webview设置
//设置编码
       mWebView.getSettings().setDefaultTextEncodingName("utf-8");
       //支持js
       mWebView.getSettings().setJavaScriptEnabled(true);
       //设置背景颜色 透明
       mWebView.setBackgroundColor(Color.argb(0, 0, 0, 0));
       //设置本地调用对象及其接口
    //   mWebView.addJavascriptInterface(this, "myObj");//这里this可以本类 也可以创建一个新的类
    mWebView.addJavascriptInterface(new JavaScriptObject(mContext), "myObj");
   public class JavaScriptObject {
    Context mContxt;
    @JavascriptInterface //sdk17版本以上加上注解
    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
       mWebView.loadUrl("file:///android_asset/test.html");


第二步:webview执行JS的方法

mWebView.loadUrl("javascript:funFromjs()");


第三步:JS执行WEBVIEW的方法


window.myObj.fun2()"name";

页: [1]
查看完整版本: Webview与javascript的互相调用