webview中的img标签加载Android本地的图片
来源:互联网 发布:心动网络 笔试题目 编辑:程序博客网 时间:2024/05/18 03:21
在网上查了很多教程,感觉很麻烦,各种方法,最后最忌实践很简单,主要是两步:
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; @Override protected 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调用Android webSettings.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{ @Override public 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() { @Override public void run() { webView.loadUrl(url); } }); }}
阅读全文
0 0
- webview中的img标签加载Android本地的图片
- Android webview加载本地图片
- Android webview加载本地图片
- Android用webView加载h5的页面,h5获取本地的图库中的图片
- img标签读取本地图片
- img加载本地图片问题
- Webview加载本地图片的方案对比
- Android开发 WebView加载从本地加载图片
- android 加载本地webView
- Android webView 加载网页时,使用本地图片替换网页内的图片
- iOS原生如何加载HTML中img标签的图片
- JS img标签本地图片预览
- jsp img标签显示本地文件夹图片
- img标签不能访问本地图片
- Android webview加载iframe标签的HTML
- Android使用WebView加载本地图片终极大杀招
- android studio中新建assets,用webview加载本地图片
- android WebView 控件加载本地sdcard中html文件图片的问题
- 编译动态库和静态库的Makefile模板
- 平衡二叉树的实现代码加详细注释
- opencv:批量读取一个文件夹下的图片,并转换成视频
- 倒计时
- Save and Load Your Keras Deep Learning Models
- webview中的img标签加载Android本地的图片
- 30岁后还能入IT行业吗?
- HTML5 canvas粒子烟花绽放动画
- Heibernate三种状态
- Spring 代理中的静态代理、动态代理
- 新版JS--函数参数默认值
- require,import区别
- Ubuntu -使用中遇到的问题及解决
- SpringBoot工程如何打war包进行云部署