美文网首页
Android调用WebView(H5端)代码

Android调用WebView(H5端)代码

作者: 王魔王 | 来源:发表于2018-12-14 20:09 被阅读0次

    Android调用js代码

    1.通过webView的loadUrl()方法调用
    mWebView.loadUrl("javascript:callJsFromAndroid()");//调用空参的方法
    
     mWebView.loadUrl("javascript:callJsFromAndroid(\"是谁在敲打我窗\")");//调用有参的方法
    

    传String的时候要加转义字符

    2.通过webView的evaluateJavascript()方法
         mWebView.evaluateJavascript("javascript:callJsFromAndroid(\"是你的就是你的\")", new ValueCallback<String>() {
                        @Override
                        public void onReceiveValue(String value) {
                            //这里value即是js的返回值
                            //如果value为null,那么检查js代码中该方法是否有返回值
                        }
                    });
    

    注意,不管采用哪种方法调用js代码,下面三点必须符合

    1.javascript是固定的,写死即可。这里是为了告诉webview我要调用javascript中的方法
    2.callJsFromAndroid()这个方法是html中定义好的方法,我们调用的时候名称一定要匹配上。通过这两步完成了一个信息的传递:告诉webView我要调用javascript中的callJsFromAndroid()方法
    3.js代码调用一定要在onPageFinished() 方法之后调用,否则不生效

    3.两种方法比较

    loadUrl()获取js的返回值比较难。
    网络盛传该方法会引起页面的重新加载,但我实验了一下,并没有发现该现象。不知道是哪里出了错。
    我是在模拟器上,加载的assets中的html。
    希望有大神可以指正

    evaluateJavascript():Android 4.4以上才可以用,但不会引起页面的刷新

    相关文章

      网友评论

          本文标题:Android调用WebView(H5端)代码

          本文链接:https://www.haomeiwen.com/subject/xfpghqtx.html