栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 移动开发 > Android

Android 保存WebView中的图片示例

Android 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android 保存WebView中的图片示例

前言

项目中有需求在APP的Webview中长按图片可以保存。后来就去研究一下该怎么实现,顺便整理了一下。

WebView基本配置

mWvContent.getSettings().setJavascriptEnabled(true);
mWvContent.getSettings().setJavascriptCanOpenWindowsAutomatically(true);
mWvContent.getSettings().setDomStorageEnabled(false);
mWvContent.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
// 自适应屏幕
mWvContent.getSettings().setUseWideViewPort(true);
mWvContent.getSettings().setLoadWithOverviewMode(true);

注册ContextMenu

registerForContextMenu(mWvContent);

重写下面的方法即可保存图片

@Override
  public void onCreateContextMenu(ContextMenu contextMenu, View view, ContextMenu.ContextMenuInfo contextMenuInfo) {
    super.onCreateContextMenu(contextMenu, view, contextMenuInfo);
    final WebView.HitTestResult webViewHitTestResult = mWvContent.getHitTestResult();
    if (webViewHitTestResult.getType() == WebView.HitTestResult.IMAGE_TYPE ||
      webViewHitTestResult.getType() == WebView.HitTestResult.SRC_IMAGE_ANCHOR_TYPE) {
      contextMenu.setHeaderTitle("网页中下载图片");
      contextMenu.add(0, 1, 0, "点击保存")
   .setonMenuItemClickListener(new MenuItem.onMenuItemClickListener() {
     @Override
     public boolean onMenuItemClick(MenuItem menuItem) {
String DownloadImageURL = webViewHitTestResult.getExtra();
if (URLUtil.isValidUrl(DownloadImageURL)) {
  DownloadManager.Request request = new DownloadManager.Request(Uri.parse(DownloadImageURL));
  request.allowScanningByMediaScanner();
  //设置图片的保存路径
  request.setDestinationInExternalFilesDir(WebViewActivity.this, "/img", "/a.png");  
  DownloadManager downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
  downloadManager.enqueue(request);
  Toast.makeText(WebViewActivity.this, "下载成功", Toast.LENGTH_LONG).show();
} else {
  Toast.makeText(WebViewActivity.this, "下载失败", Toast.LENGTH_LONG).show();
}
return false;
     }
   });
    }
  }

需要添加相关权限

 

这样就可以实现在Webview中长按图片点击下载功能了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/156763.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号