cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATE_TAKEN); long dateTaken = cursor.getLong(dateTakenIndex); // 图片生成时光 int width = 0; int height = 0; if (Build.VERSION.SDK_INT >= 16) { int widthIndex = cursor.getColumnIndex(MediaStore.Images.ImageColumns.WIDTH); int heightIndex = cursor.getColumnIndex(MediaStore.Images.ImageColumns.HEIGHT); width = cursor.getInt(widthIndex); // 获取图片高度 height = cursor.getInt(heightIndex); // 获取图片宽度 } else { Point size = getImageSize(data); // 根据路径获取图片宽和高 width = size.x; height = size.y; } // 处理获取到的第一行数据,分别断定路径是否包含关键词、时光差以及图片宽高和屏幕宽高的大年夜小关系 handleMediaRowData(data, dateTaken, width, height); } catch (Exception e) { e.printStackTrace(); } finally { if (cursor != null && !cursor.isClosed()) { cursor.close(); } } } 有些手机 ROM 截屏一次会发出多次内容改变的通知,是以须要做去重操作,去重也不复杂,可以用列表缓存比来十几条图片地址数据,每次获取到新的图片地址,都邑先断定缓存中是否存在雷同的图片地址,如不雅当前的图片地址已经存在列表中,则直接过滤掉落即可,不然添加到缓存中。如斯就可以包管截屏监听事宜既不漏掉也不反复。
以上就是手机截屏的核心道理和关键代码,如不雅须要分享截屏图片也很简单, data 即为图片的存储地址,转换成 Bitmap 即可完成分享。
推荐阅读
成熟期滞后状态的云计算:应重视云存储及安全策略
赓续增长的存储需求促使很多企业转向云计算。云计算是新实际,但确保云存储在安然,机能和可扩大性方面获得恰当构建也至关重要。
云计算响应筹划成“大年夜杂烩”怎么办?分析机构>>>详细阅读
本文标题:Android截屏与WebView长图分享经验总结
地址:http://www.17bianji.com/lsqh/35456.html
1/2 1