webView向android 传值
来源:互联网 发布:免费联系人恢复软件 编辑:程序博客网 时间:2024/05/29 03:36
最近做webview,遇到2种需求,一种是在自己服务器上的HTML中获取数据,另一种是通过自己服务器上的HTML中的超链接跳到另一个站点的HTML中,并获取数据。
于是,总结了2种通过webview获取网页上的数据的方式:
第一种:简单点的,直接通过js调Java,在调用方法的过程中将数据通过方法的参数传递给Android端,(前提:服务端有对应的faxun对象,而且调用的方法是showImages(String[] imgUrls))。
[java] view plain copy
class MyJavaScriptInterface {
MyJavaScriptInterface() { } /** * js调java,显示图片 * * @param imgUrls */ @JavascriptInterface public void showImages(String[] imgUrls) { LogUtils.i(TAG, "imgUrls = " + imgUrls[0]); NewsDetailWebviewActivity.this.imgUrls = imgUrls; }
}
…
webView.addJavascriptInterface(new MyJavaScriptInterface(), “faxun”);
第二种:有点复杂,通过webview注册一个本地接口后,然后通过java调js,拿到document对象后,解析HTML标签,然后数据会通过本地接口中的回调方法传递给Android端,(前提:HTML页面中的meta标签中有对应的reply_info名称和content属性,数据是封装在content里面的json格式的字符串)。
[java] view plain copy
class MyWebClient extends WebViewClient {
@Override
public void onPageFinished(WebView view, String url) {
view.loadUrl(“javascript:window.getShareData.OnGetShareData(”
+ “document.querySelector(‘meta[name=\”reply_info\”]’).getAttribute(‘content’)” + “);”);
super.onPageFinished(view, url);
}
}
private class GetShareDataInterface {
@JavascriptInterface
public void OnGetShareData(String shareData) {
if (null != shareData) {
try {
JSONObject shareJson = new JSONObject(shareData);
title = shareJson.optString(“title”);
description = shareJson.optString(“description”);
imageUrl = shareJson.optString(“imageUrl”);
} catch (JSONException e) {
e.printStackTrace();
}
} } }
…..
webView.setWebViewClient(new MyWebClient());
- webView向android 传值
- android 向webview传值
- Android中向webview注入js代码
- Android中向WebView注入java对象不起作用解决办法
- Android 显示 WebView ,加载URL 时,向webview的 header 里面传递参数
- 【Android】【Webview】WebView 简介
- 向WebView中注入JavaScript
- js向webview发送URL
- android WebView
- Android WebView
- Android WebView
- android webview
- Android WebView
- android WebView
- android WebView
- Android webview
- android webview
- android webview
- Sflow介绍
- java future 和 callable的一个例子
- SHELL NOTES
- 《Thinking in Java》读书笔记之内部类
- RecycleView使用问题梳理
- webView向android 传值
- spring mvc框架整个执行过程,从输入http url,到action映射,再到action处理,返回jsp文件,解析jsp文件,然后渲染, 到返回给浏览器展示结果
- 【Leetcode】Evaluate Reverse Polish Notation
- ARC内存管理及强弱指针(二)
- 【Leetcode】Reverse Words in a String
- 平时的一些总结--ing
- 算法竞赛中的时间复杂度选择——以最大连续和问题为例
- JavaScript 标签自定义属性
- 【Leetcode】Decode Ways