湛江阿里云代理商:android webview加载网络图片

在Android的WebView中展示网络图片的方法如下:

1.在AndroidManifest.xml文件中添加网络权限。

<uses-permission android:name="android.permission.INTERNET" />

2.在WebView的Settings中设置JavaScriptEnabled和DomStorageEnabled为true以便JS的执行。

webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true);

3.在WebViewClient的onPageFinished方法中执行JavaScript脚本以替换图片的URL。

webView.setWebViewClient(new WebViewClient() {
   @Override
   public void onPageFinished(WebView view, String url) {
      super.onPageFinished(view, url);
      String js = "javascript:(function() { " +
                "var imgs = document.getElementsByTagName('img');" +
                "for (var i = 0; i < imgs.length; i++) {" +
                "    var img = imgs[i];   " +
                "    img.src = img.src.replace(/^http:/, 'https:');" +
                "}})();";
      view.loadUrl(js);
   }
});

webView.loadUrl("https://www.example.com");

其中将图片URL的http协议替换为https协议是为了保证安全性,避免被第三方劫持。

在Android中使用WebView加载网络图片需要注意以下几点:

  1. 需要添加网络权限

在AndroidManifest.xml文件中添加以下权限:

<uses-permission android:name="android.permission.INTERNET" />
  1. 需要开启WebView的JavaScript支持

在MainActivity.java中的onCreate()方法中添加以下代码:

webView.getSettings().setJavaScriptEnabled(true);
  1. 需要使用WebViewClient并重写shouldOverrideUrlLoading()方法

在MainActivity.java中的onCreate()方法中添加以下代码:

webView.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
});
  1. 在HTML代码中使用网络图片链接

在HTML代码中引用网络图片的时候,需要使用完整的网络图片链接,例如:

<img src="https://www.example.com/images/sample.jpg" />

完整代码如下:

湛江阿里云代理商:android webview加载网络图片

MainActivity.java

import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
    private WebView webView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        webView = findViewById(R.id.webView);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });

        String html = "<html><body><h1>网络图片测试</h1><img src="https://www.example.com/images/sample.jpg" /></body></html>";
        webView.loadDataWithBaseURL("", html, "text/html", "UTF-8", "");
    }
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webView"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/158035.html

(0)
luotuoemo的头像luotuoemo
上一篇 2024年3月7日 23:49
下一篇 2024年3月8日 00:12

相关推荐

  • 物联网云平台主要的四大组件

    物联网由哪几部分组成 1、物联网的定义:物联网是一个基于互联网、传统电信网等的信息承载体,它让所有能够被独立寻址的普通物理对象形成互联互通的网络。2、物联网的组成:物联网大致可以分为以下四个层面,即:感知层、网络层、平台层以及应用层。具体如下:(1)、感知识别层。感知层是物联网整体架构的基础,是物理世界和信息世界融合的重要一环。在感知层,我们可以通过传感器感…

    2023年8月29日
    77300
  • 广安阿里云企业邮箱代理商:阿里云邮箱删除了可以恢复吗

    阿里云企业邮箱:删除了可以恢复吗 一、阿里云企业邮箱的优势 阿里云企业邮箱是一款强大而可靠的企业邮件解决方案,具有以下几个优势: 1. 安全可靠 阿里云企业邮箱采用多层次的安全防护机制,确保用户的信息和邮件内容不受任何威胁。它使用 SSL/TLS 加密技术传输数据,在传输过程中能够进行加密保护,有效防止信息被窃取。 2. 强大的管理功能 阿里云企业邮箱提供了…

    2024年2月9日
    62500
  • 阿里云企业邮箱:如何设置阿里云邮件审批?

    阿里云企业邮箱:如何设置阿里云邮件审批? 随着企业信息化建设的不断深入,电子邮件已成为企业日常办公中不可或缺的沟通工具。而为了保护企业信息安全,规范内部邮件往来,许多企业都会设置邮件审批功能。阿里云企业邮箱作为国内领先的企业邮箱服务商,提供了完善的邮件审批功能,帮助企业高效管理邮件内容。 一、什么是阿里云邮件审批? 阿里云邮件审批是指企业可以设置特定人员发送…

    2025年8月2日
    40800
  • 西双版纳阿里云企业邮箱代理商:钉钉里面的阿里云盘怎么删除啊

    阿里云企业邮箱的优势和好用之处 阿里云企业邮箱代理商钉钉中的阿里云盘删除方法 阿里云盘是阿里云企业邮箱提供的云存储服务,可以帮助用户安全备份和共享文件。如果需要删除阿里云盘中的文件,请按照以下步骤操作: 登录钉钉,并进入阿里云企业邮箱代理商。 点击进入阿里云企业邮箱的应用列表。 找到并点击阿里云盘应用图标。 在阿里云盘的界面中,选择需要删除的文件。 点击右上…

    2024年1月25日
    58700
  • 企业员工对阿里云企业邮箱的新功能界面友好性反馈?

    企业员工对阿里云企业邮箱新功能界面友好性反馈 1. 界面简洁直观,用户易上手 阿里云企业邮箱的界面设计非常注重用户体验,整体风格简洁明了,操作流程简单,即使是非技术背景的员工也能够快速掌握基本操作。这种友好的设计使得新用户可以迅速上手,不需要过多培训便可高效使用。这对于企业来说,不仅减少了培训时间与成本,还提升了员工的工作效率,促进了信息传递的流畅性。 2.…

    2024年10月30日
    55400

发表回复

登录后才能评论

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/