Android开发实现webview中img标签加载本地图片的方法

Android开发实现webview中img标签加载本地图片的方法,第1张

概述本文实例讲述了Android开发实现webview中img标签加载本地图片的方法。分享给大家供大家参考,具体如下:

本文实例讲述了AndroID开发实现webvIEw中img标签加载本地图片的方法。分享给大家供大家参考,具体如下:

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

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="上海鲜花港 - 郁金香" /><script>function aa(path){alert(path); var img=document.getElementByID("img");  img.src=path;}</script></body></HTML>

AndroID代码

package com.example.a5.myapplication;@R_301_5565@ androID.os.Environment;@R_301_5565@ androID.support.v7.app.AlertDialog;@R_301_5565@ androID.support.v7.app.AppCompatActivity;@R_301_5565@ androID.os.Bundle;@R_301_5565@ androID.webkit.WebChromeClIEnt;@R_301_5565@ androID.webkit.WebSettings;@R_301_5565@ androID.webkit.WebVIEw;@R_301_5565@ 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);      }    });  }}

更多关于AndroID相关内容感兴趣的读者可查看本站专题:《Android视图View技巧总结》、《Android编程之activity *** 作技巧总结》、《Android布局layout技巧总结》、《Android开发入门与进阶教程》、《Android资源 *** 作技巧汇总》及《Android控件用法总结》

希望本文所述对大家AndroID程序设计有所帮助。

总结

以上是内存溢出为你收集整理的Android开发实现webview中img标签加载本地图片的方法全部内容,希望文章能够帮你解决Android开发实现webview中img标签加载本地图片的方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1143961.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存