Android - webview原生调用js并且得到返回值
2016-12-16 14:47
337 查看
说明:
webview原生调用js并且得到返回值,这个需求,4.4之前都是通过各种方法实现的,这里有一个博客:Android - webview原生和JavaScript(js)交互的几种方式在sdk19以后,google提供了一个新的方法:evaluateJavascript,这个方法可以实现webview原生调用js并且得到返回值。
代码:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {//sdk>19才有用final String[] paths = moduleUrl.split("/", 3);
LogUtils.d("paths:" + paths[0] + "..." + paths[1] + "...." + paths[2]);
String script = "mandaobridge.getParams('" + paths[2] + "')";
webView.evaluateJavascript(script, new ValueCallback<String>() {
@Override
public void onReceiveValue(String responseJson) {
LogUtils.d("调用js返回值:" + paths[2] + "--" + responseJson);
analyParams(paths, responseJson);
}
});
} else {//sdk<19后,通过prompt来获取
String[] paths = moduleUrl.split("/", 3);
promptMap.put(paths[2], paths);
webView.loadUrl("javascript:mandaobridge.getParams('!" + paths[2] + "')");
LogUtils.d("Prompt请求:" + "mandaobridge.getParams('!" + paths[2] + "')");
}
总结:
sdk大于19后使用evaluateJavascript方法,但是小于19的时候还是用了上面的那个博客的方法来实现了,方便以后直接删除。相关文章推荐
- Android之WebView与原生js之间的相互调用
- IOS 与 Android WebView 中 JS 调用原生代码
- Android原生WebView与网页js相互调用
- android webview onJsAlert只调用一次的问题,并且页面卡死的问题
- [Android]Webview中JS接口调用Java-版本问题
- android webview onJsAlert只调用一次的问题
- 【Js】调用Android WebView定义的方法总结
- android webview onJsAlert只调用一次的问题
- Android WebView与网页JS相互调用
- WebView之js调用Android类的方法传递数据
- webView中js调用android方法一调用程序就退出是怎么回事
- android webView调用js函数的几种方法
- Android WebView与网页JS相互调用
- Android开发中WebView与js互相调用
- android中webviewjs与java的相互调用
- Android WebView JS不能调用Java对象的问题
- Android WebView java和js互相调用
- android webView中js调用java函数的关键之处
- Android webview 与 JS相互调用
- android webview 运用小结(选取图片,js调用,混淆保留,cookie问题,高低版本问题)