在网上查了很多教程,感觉很麻烦,各种方法,最后最忌实践很简单,主要是两步:

 WebSettings webSettings=webView.getSettings();//允许webview对文件的操作webSettings.setAllowUniversalAccessFromFileURLs(true);webSettings.setAllowFileAccess(true);webSettings.setAllowFileAccessFromFileURLs(true);

其次是路径的设置

String path= "file://"+Environment.getExternalStorageDirectory()+ File.separator+"123.jpg";

一定是file:///开头,注意是三个斜杠

下面是结果:

执行代码之前

执行代码之后

html代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"><title>Title</title>
</head>
<body>
<img id="img" alt="上海鲜花港 - 郁金香" style="width: 100%;height: 100%"/>
<script>
function  aa(path){
alert(path);var img=document.getElementById("img");img.src=path;
}</script>
</body>
</html>

Android代码

package com.example.a5.myapplication;import android.os.Environment;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;import java.io.File;public class MainActivity extends AppCompatActivity {private WebView webView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);webView= (WebView) findViewById(R.id.webView);WebSettings webSettings=webView.getSettings();//允许webview对文件的操作webSettings.setAllowUniversalAccessFromFileURLs(true);webSettings.setAllowFileAccess(true);webSettings.setAllowFileAccessFromFileURLs(true);//用于js调用AndroidwebSettings.setJavaScriptEnabled(true);//设置编码方式webSettings.setDefaultTextEncodingName("utf-8");webView.setWebChromeClient(new chromClient());//访问Android assets文件夹内的String url="file:///android_asset/test.html";//访问网页Html
//        String url="http://192.168.1.121:8080/jsandroid/index.html";runWebView(url);}private class chromClient extends WebChromeClient{@Overridepublic void onProgressChanged(WebView view, int newProgress) {if(newProgress==100){//页面加载完成执行的操作String path= "file://"+Environment.getExternalStorageDirectory()+ File.separator+"123.jpg";String action="javascript:aa('"+path+"')";new AlertDialog.Builder(MainActivity.this).setMessage(action).show();runWebView(action);}super.onProgressChanged(view, newProgress);}}private void runWebView(final String url){runOnUiThread(new Runnable() {@Overridepublic void run() {webView.loadUrl(url);}});}
}

webview中的img标签加载Android本地的图片相关推荐

  1. img加载中显示loading,加载失败显示默认图片(React)

    实现效果 完整代码 import { useRef, useState } from 'react'; import './index.less'; import errorImg from '@/c ...

  2. VC6中使用内存DC加载并显示JPG图片的注意事项

    From: http://blog.csdn.net/boythl/article/details/3137446 今天在VC6中显示JPG图片,采用了内存DC缓存的方法刷新,但死活刷不出来,查了一下 ...

  3. Winform DataGridView中利用WebClient异步加载显示网络地址的图片

    转载于:https://www.cnblogs.com/sjcatsoft/archive/2008/11/21/1338448.html

  4. Android中使用x5内核加载网页的实现

    前言 联系方式 背景 SDK下载 SDK集成 使用 代码实现 前言 由于是使用的腾讯浏览服务,所以这里大部分介绍的是官网的一些东西,不过自己会做一些复杂使用部分的实现,不至于像官网上介绍的笼统. 联系 ...

  5. vue项目中 img标签加载失败方法,onerror事件的两种方法

    vue项目中 img标签加载失败方法 ?css 第一种方法 第二种方法 本人写的第一篇文章,希望对你有帮助 第一种方法 < img src="123" :οnerrοr=&q ...

  6. vue项目中 img标签加载失败(404)方法,@error事件

    vue项目中 img标签加载失败方法,@error事件 @error="defImg" <img src="123" @error="defIm ...

  7. Android 中LayoutInflater(布局加载器)之介绍篇

    本文出自博客Vander丶CSDN博客,如需转载请标明出处,尊重原创谢谢 博客地址:http://blog.csdn.net/l540675759/article/details/78099358 前 ...

  8. Flutter中举步维艰的WebView,终于实现了加载本地html

    1.需求背景 实现一个不全屏的,支持加载本地html资源的webview 2.结论先行 选用了官方的webview_flutter.总结了下实践的过程,分析几个插件有如下特点: flutter_ina ...

  9. chromebook刷机_如何从Chromebook上的APK侧面加载Android应用

    chromebook刷机 Chromebooks can now download and install Android apps from Google Play, and it works pr ...

最新文章

  1. 资料分享:送你一本《数据结构与算法JavaScript描述》电子书!
  2. 科研超级神器,摘要页一键链接关联论文
  3. 医学影像AI:全球市场展望
  4. 树形控件CTreeCtrl的使用详解(一)
  5. pytorch 之 加载不同形式的预训练模型
  6. 异常处理机制——panic 和 recover
  7. Mongo客户端MongoVUE的基本使用
  8. MySQL JDBC驱动程序如何处理准备好的语句
  9. CSS中属性个属性值怎么区分,[CSS] 详细解释 @media 属性与 (max
  10. TensorFlow构建二维数据拟合模型(1)
  11. 【nginx】nginx 负载均衡
  12. 微服务(接口)设计原则
  13. php7 findandmodify,node.js – (mongoose / promises)如何检查文档是否是使用带有upsert的findOneAndUpdate创建的...
  14. 五大常用算法之贪心算法
  15. c语言int转为dint,【转】IQMATH使用
  16. 2021年7月国产数据库排行榜:openGauss高歌猛进,GBase丢失第五
  17. C# 颜色和名称对照表
  18. 远程服务器登入信息,怎样查看服务器被远程登录的信息
  19. 电路及esd静电防护
  20. QQ登录获取unionID

热门文章

  1. 合宙esp32+显示屏测试
  2. 网页前端培训3CSS基本使用/选择器/常用属性
  3. 生化危机暗黑历代记汉化终于完成了
  4. 熄屏显示为何只有OLED屏有?为何LCD屏不支持?熄屏显示耗电严重吗
  5. php text转json,txt格式怎么转json格式
  6. 学习和使用程序捕捉异常 CrashHandler以及ACRA
  7. 构造Delaunay三角形网格
  8. 902-工控机环境搭建及使用(东哥教程)
  9. JAVA开发手册华山版 - 学习笔记
  10. 头发油、毛孔、美白、牙齿、细纹全方位修复保养