Android WebView Long Press长按保存图片到手机
<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长按保存图片到手机相关推荐
- android webview加载黑屏,华为10手机打开Webview ANR 黑屏问题
本帖最后由 huafen346619996 于 2020-6-22 15:41 编辑 @华为的各位开发老师,有app 使用webview打开网页的时候的时候概率性出现黑屏的问题,通过对比市场上其他类型 ...
- android中最新webview的功能,Android WebView实现截长图功能
本文实例为大家分享了Android实现截长图功能的具体代码,供大家参考,具体内容如下 先看看手机自带的长截屏功能: 机型: vivo x9 plus 大胆推测实现逻辑: 1:需要一个可以滚动的Vie ...
- android webview 图片居中,Android WebView实现截长图功能
本文实例为大家分享了Android实现截长图功能的具体代码,供大家参考,具体内容如下 先看看手机自带的长截屏功能: 机型: vivo x9 plus 大胆推测实现逻辑: 1:需要一个可以滚动的Vie ...
- Android webView长按保存图片到本地相册(队列下载实现)
前言 自己写的app中 有大量的webView 在加载的过程中 新增了许多功能 比如 加载H5链接时 遇到有趣的图片 想长按保存下来是否可以呢 答案:"肯定是可以的" 网上有很多例 ...
- android 如何保存网页图片格式,求助,如何在安卓app内嵌的H5页面里长按保存图片?...
最近要做个在H5页面里长按保存图片的功能,已经找了个第三方插件html2canvas解决了在浏览器和在ios app的长按保存,但是这个插件在android app里失效了,所以得单独处理androi ...
- H5界面长按保存图片到图库(base64去掉头部带data:image/png)
我们都知道,IOS与Android在对H5页面上的处理是有区别的,举个例子: 最近公司要做一个在webView界面长按保存图片到图库里的一个功能.看起来,很简单嘛,我上个厕所的功夫,H5小哥刷刷的写完 ...
- 带有书签的Android WebView
To display a web page as the part of the application we use android WebView in our application. We'v ...
- Android Webview H5 秒开方案实现
本文首发于微信公众号「玉刚说」 原文链接:Android Webview H5 秒开方案实现 前言 现在许多app都嵌入了H5页面, 然而WebView加载速度慢这个问题却一直影响着用户的体验, 所以 ...
- Android WebView 性能优化
原文出处:http://motalks.cn/2016/09/11/Android-WebView-JavaScript-3/ WebView相关阅读 Android WebView 和 javaSc ...
最新文章
- 走向国际,人民邮电出版社图灵公司携 10 本原创图书亮相首届云上 BIBF
- 风雨飘摇中的HP会分拆Arcsight业务吗?
- 思科超融合:主推HyperFlex,押注HCI
- 【猪哥】Python爬虫入门系列
- C/C++ 给Python写扩展模块
- 如果从椭圆的一个焦点发出光线,再经过椭圆的反射,会发生什么?
- C#开发命令执行驱动程序 之 控制标志的命令行参数
- Duilib自定义控件
- 阅读《构建之法》第6 第7章
- python入门指南-python3.6.0入门指南(官方版).pdf
- Python+Selenium ----unittest单元测试框架
- linux程序执行时内存情况
- hp t410微型计算机使用,HP 发表新款 t410 AIO Smart Zero 精简型电脑,仅需网络线即可作为电源驱动使用...
- ARM指令集与Thumb指令集与Thumb-2指令集的区别
- MapGuide open source开发心得一:简介
- symbian赛班 系统介绍
- 张云茹计算机,张云茹 - 重庆理工大学 - 药学与生物工程学院
- 英语微课-Speaking Confidently
- 微调StyleGAN2模型(使用Google Colab)
- Quiz-Style Question Generation for News Stories