gpt4 book ai didi

javascript - Java Android - 从 WebView 获取图像

转载 作者:太空宇宙 更新时间:2023-11-04 12:13:26 25 4
gpt4 key购买 nike

所以我通过 webview 加载一个网站页面并在我的 Android APP 上显示。

网站上有几张图片;假设网站页面包含 3 张图片:

<img src="pic_mountain.jpg">
<img src="random_image.php">
<img src="pic_mountain_second.jpg">

我的问题是,如何获取上面的每个图像,以便我可以在我的 Java Android 应用程序上以位图形式访问每个图像?

最佳答案

这里是获取 HTML 作为在 webview 中加载的字符串的工作示例,以及如何在将图像 url 转换为位图后从中获取图像 url。

将 webview 客户端设置为您的 webview,例如

webview.setWebViewClient(new WebClientClass());

下面给出了 webview 客户端

public class WebClientClass extends WebViewClient {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
if (progressDialog != null && progressDialog.isShowing())
progressDialog.dismiss();

wvAboutUs.evaluateJavascript(
"(function() { return ('<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>'); })();",
new ValueCallback<String>() {
@Override
public void onReceiveValue(String html) {
JsonReader reader = new JsonReader(new StringReader(html));
reader.setLenient(true);
try {
if (reader.peek() != JsonToken.NULL) {
if (reader.peek() == JsonToken.STRING) {
String msg = reader.nextString();
if (msg != null) {
Log.d("HTML", msg);
Pattern p = Pattern.compile("src=\"(.*?)\"");
Matcher m = p.matcher(msg);
if (m.find()) {
Log.d("HTML", m.group(1)); // This will print your image url
}
}
}
}
} catch (IOException e) {
Log.e("TAG", "MainActivity: IOException", e);
} finally {
try {
reader.close();
} catch (IOException e) {
}
}
}
});
}
}

关于javascript - Java Android - 从 WebView 获取图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39658052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com