Android-webview和js脚本语言交互的时候怎么获取js方法的返回值
2 回答
红颜莎娜
TA贡献1842条经验 获得超12个赞
方法:
1、通过webview访问js脚本
2、js脚本再调用webview中的java函数把结果返回
示例代码:
通过本地的webview打开脚本页面。
调用步骤
1、设置webview支持脚本
1 | webSettings.setJavaScriptEnabled( true ); |
2、打开脚本页面
1 | mWebView.loadUrl( "file:///android_asset/demo.html" );//这里打开该app的asset目录下的demo.html,里面含有wave函数脚本 |
3、调用脚本
1 | mWebView.loadUrl( "javascript:wave()" ); //调用打开页面中的wave函数 |
4、webview中建立js能够访问
12345678 | mWebView.addJavascriptInterface( new DemoJavaScriptInterface(), "demo" ); //js可以通过demo访问到DemoJavaScriptInterface 类中的方法。 final class DemoJavaScriptInterface { DemoJavaScriptInterface() { } public void clickOnAndroid(String result) { System.out.prinltn( "返回的结果" +result); } } |
5、js访问webview方法
123456 | <script language= "javascript" > function wave() { alert( "1" ); window.demo.clickOnAndroid( '结果1' ); //返回结果,调用java方法 } </script> |
- 2 回答
- 0 关注
- 1314 浏览
添加回答
举报
0/150
提交
取消