Android-webview和js脚本语言交互的时候怎么获取js方法的返回值

JavaScript021

Android-webview和js脚本语言交互的时候怎么获取js方法的返回值,第1张

方法:

1、通过webview访问js脚本

2、js脚本再调用webview中的java函数把结果返回

示例代码:

通过本地的webview打开脚本页面。

调用步骤

1、设置webview支持脚本

webSettings.setJavaScriptEnabled(true)

2、打开脚本页面

mWebView.loadUrl("file:///android_asset/demo.html")//这里打开该app的asset目录下的demo.html,里面含有wave函数脚本

3、调用脚本

mWebView.loadUrl("javascript:wave()")//调用打开页面中的wave函数

4、webview中建立js能够访问

 mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), "demo")//js可以通过demo访问到DemoJavaScriptInterface 类中的方法。

 final class DemoJavaScriptInterface {

        DemoJavaScriptInterface() {

        }

        public void clickOnAndroid(String result) {

             System.out.prinltn("返回的结果"+result)           

        }

    }

5、js访问webview方法

<script language="javascript">

        function wave() {

            alert("1")

            window.demo.clickOnAndroid('结果1')//返回结果,调用java方法

        }

    </script>

总的来说都是使用安卓webview.loadUrl(url)加载页面

url为在线网页连接

将打包好的网页资源放入安卓静态目录

加载目录为

Android 调用 JS 有两种方式,都是通过 WebView 的方法:

webview.loadUrl()

webview.evaluateJavascript()

js方法

vue需要把方法挂载到windows

通过映射js object暴露给js操作

安卓

h5调用

经常需要适配安卓和ios

加入以下机型判断

Android与H5交互——JSBridge - (jianshu.com)

@JavascriptInterface public String getValue(final String str) {if(str.equals("test")){ //java中不能用==号return "a"}return "b"}