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

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


饮歌长啸
浏览 1268回答 2
2回答

红颜莎娜

方法:1、通过webview访问js脚本2、js脚本再调用webview中的java函数把结果返回示例代码:通过本地的webview打开脚本页面。调用步骤1、设置webview支持脚本1webSettings.setJavaScriptEnabled(true);2、打开脚本页面1mWebView.loadUrl("file:///android_asset/demo.html");//这里打开该app的asset目录下的demo.html,里面含有wave函数脚本3、调用脚本1mWebView.loadUrl("javascript:wave()");//调用打开页面中的wave函数4、webview中建立js能够访问12345678&nbsp;mWebView.addJavascriptInterface(new&nbsp;DemoJavaScriptInterface(),&nbsp;"demo");//js可以通过demo访问到DemoJavaScriptInterface&nbsp;类中的方法。&nbsp;final&nbsp;class&nbsp;DemoJavaScriptInterface&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DemoJavaScriptInterface()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;void&nbsp;clickOnAndroid(String&nbsp;result)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.prinltn("返回的结果"+result);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;}5、js访问webview方法123456<script&nbsp;language="javascript">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;wave()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert("1");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window.demo.clickOnAndroid('结果1');//返回结果,调用java方法&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;</script>
打开App,查看更多内容
随时随地看视频慕课网APP