<span style="font-size:18px;">首先要先注册长按监听菜单private String imgurl = "";/**** 功能:长按图片保存到手机*/@Overridepublic void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {super.onCreateContextMenu(menu, v, menuInfo);MenuItem.OnMenuItemClickListener handler = new MenuItem.OnMenuItemClickListener() {public boolean onMenuItemClick(MenuItem item) {if (item.getTitle() == "保存到手机") {new SaveImage().execute(); // Android 4.0以后要使用线程来访问网络} else {return false;}return true;}};if (v instanceof WebView) {WebView.HitTestResult result = ((WebView) v).getHitTestResult();if (result != null) {int type = result.getType();if (type == WebView.HitTestResult.IMAGE_TYPE || type == WebView.HitTestResult.SRC_IMAGE_ANCHOR_TYPE) {imgurl = result.getExtra();menu.setHeaderTitle("提示");menu.add(0, v.getId(), 0, "保存到手机").setOnMenuItemClickListener(handler);}}}}/**** 功能:用线程保存图片* * @author wangyp* */private class SaveImage extends AsyncTask<String, Void, String> {@Overrideprotected String doInBackground(String... params) {String result = "";try {String sdcard = Environment.getExternalStorageDirectory().toString();File file = new File(sdcard + "/Download");if (!file.exists()) {file.mkdirs();}int idx = imgurl.lastIndexOf(".");String ext = imgurl.substring(idx);file = new File(sdcard + "/Download/" + new Date().getTime() + ext);InputStream inputStream = null;URL url = new URL(imgurl);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("GET");conn.setConnectTimeout(20000);if (conn.getResponseCode() == 200) {inputStream = conn.getInputStream();}byte[] buffer = new byte[4096];int len = 0;FileOutputStream outStream = new FileOutputStream(file);while ((len = inputStream.read(buffer)) != -1) {outStream.write(buffer, 0, len);}outStream.close();result = "图片已保存至:" + file.getAbsolutePath();} catch (Exception e) {result = "保存失败!" + e.getLocalizedMessage();}return result;}@Overrideprotected void onPostExecute(String result) {MsgBox("提示", result);}}</span>

转载于:https://www.cnblogs.com/sharecenter/p/5621055.html

Android WebView Long Press长按保存图片到手机相关推荐

  1. android webview加载黑屏,华为10手机打开Webview ANR 黑屏问题

    本帖最后由 huafen346619996 于 2020-6-22 15:41 编辑 @华为的各位开发老师,有app 使用webview打开网页的时候的时候概率性出现黑屏的问题,通过对比市场上其他类型 ...

  2. android中最新webview的功能,Android WebView实现截长图功能

    本文实例为大家分享了Android实现截长图功能的具体代码,供大家参考,具体内容如下 先看看手机自带的长截屏功能:  机型: vivo x9 plus 大胆推测实现逻辑: 1:需要一个可以滚动的Vie ...

  3. android webview 图片居中,Android WebView实现截长图功能

    本文实例为大家分享了Android实现截长图功能的具体代码,供大家参考,具体内容如下 先看看手机自带的长截屏功能:  机型: vivo x9 plus 大胆推测实现逻辑: 1:需要一个可以滚动的Vie ...

  4. Android webView长按保存图片到本地相册(队列下载实现)

    前言 自己写的app中 有大量的webView 在加载的过程中 新增了许多功能 比如 加载H5链接时 遇到有趣的图片 想长按保存下来是否可以呢 答案:"肯定是可以的" 网上有很多例 ...

  5. android 如何保存网页图片格式,求助,如何在安卓app内嵌的H5页面里长按保存图片?...

    最近要做个在H5页面里长按保存图片的功能,已经找了个第三方插件html2canvas解决了在浏览器和在ios app的长按保存,但是这个插件在android app里失效了,所以得单独处理androi ...

  6. H5界面长按保存图片到图库(base64去掉头部带data:image/png)

    我们都知道,IOS与Android在对H5页面上的处理是有区别的,举个例子: 最近公司要做一个在webView界面长按保存图片到图库里的一个功能.看起来,很简单嘛,我上个厕所的功夫,H5小哥刷刷的写完 ...

  7. 带有书签的Android WebView

    To display a web page as the part of the application we use android WebView in our application. We'v ...

  8. Android Webview H5 秒开方案实现

    本文首发于微信公众号「玉刚说」 原文链接:Android Webview H5 秒开方案实现 前言 现在许多app都嵌入了H5页面, 然而WebView加载速度慢这个问题却一直影响着用户的体验, 所以 ...

  9. Android WebView 性能优化

    原文出处:http://motalks.cn/2016/09/11/Android-WebView-JavaScript-3/ WebView相关阅读 Android WebView 和 javaSc ...

最新文章

  1. 走向国际,人民邮电出版社图灵公司携 10 本原创图书亮相首届云上 BIBF
  2. 风雨飘摇中的HP会分拆Arcsight业务吗?
  3. 思科超融合:主推HyperFlex,押注HCI
  4. 【猪哥】Python爬虫入门系列
  5. C/C++ 给Python写扩展模块
  6. 如果从椭圆的一个焦点发出光线,再经过椭圆的反射,会发生什么?
  7. C#开发命令执行驱动程序 之 控制标志的命令行参数
  8. Duilib自定义控件
  9. 阅读《构建之法》第6 第7章
  10. python入门指南-python3.6.0入门指南(官方版).pdf
  11. Python+Selenium ----unittest单元测试框架
  12. linux程序执行时内存情况
  13. hp t410微型计算机使用,HP 发表新款 t410 AIO Smart Zero 精简型电脑,仅需网络线即可作为电源驱动使用...
  14. ARM指令集与Thumb指令集与Thumb-2指令集的区别
  15. MapGuide open source开发心得一:简介
  16. symbian赛班 系统介绍
  17. 张云茹计算机,张云茹 - 重庆理工大学 - 药学与生物工程学院
  18. 英语微课-Speaking Confidently
  19. 微调StyleGAN2模型(使用Google Colab)
  20. Quiz-Style Question Generation for News Stories

热门文章

  1. python什么时候用eval_Python:eval的妙用和滥用
  2. logisim优先编码器怎么用_变频电机为什么要用编码器?又该如何选型?
  3. CS229 7.1应用机器学习中的一些技巧
  4. Hadoop2之NameNode HA详解
  5. 大数据产品的备份及恢复
  6. maven项目和普通项目转换
  7. 漫谈C++:良好的编程习惯与编程要点
  8. Android项目使用Eclipse进行单元测试
  9. android app逆向分析,如何开始对Android应用的逆向分析?
  10. vue-js 特殊变量$event常识