Android与H5互调

本质上是Java与Javascript的互调。

一,Android调H5
1,核心代码:

......
webView = new WebView(this);
        WebSettings webSettings = webView.getSettings();
        //设置支持javaScript脚步语言
        webSettings.setJavaScriptEnabled(true);

        //支持双击-前提是页面要支持才显示
        webSettings.setUseWideViewPort(true);

        //支持缩放按钮-前提是页面要支持才显示
        webSettings.setBuiltInZoomControls(true);

        //设置客户端-不跳转到默认浏览器中
        webView.setWebViewClient(new WebViewClient());

        //加载网络资源
        webView.loadUrl("http://atguigu.com/teacher.shtml");
        //加载本地网络资源
//        webView.loadUrl("file:///android_asset/JavaAndJavaScriptCall.html");

        //显示页面
        setContentView(webView);
......

2,传递数据
首先,在Activity或者Fragment的onCreate()方法中初始化WebView;然后,在业务处理的代码中处理数据的传递并调用setContentView(WebView实例)。
比如:

/**
 * Java调用javaScript
 * @param numebr
 */
private void login(String numebr) {
    webView.loadUrl("javascript:javaCallJs("+"'"+numebr+"'"+")");
    setContentView(webView);
}

二,H5调Android
也就是JS调Java
1,配置Javascript接口
2,实现Javascript接口类
3,解决该WebView.addJavascriptInterface接口不起作用的两种办法
a,针对版本改成16
b,在JavaScript接口类的方法加上@JavascriptInterface注解

你可能感兴趣的:(Android)