文档章节

Android 从相册获取最近拍摄的多张照片(获取相机拍照所存储的照片)

丁佳辉
 丁佳辉
发布于 2015/09/23 09:21
字数 261
阅读 377
收藏 1

   转载请标明出处:http://blog.csdn.net/android_ls/article/details/39928519 

在做公司项目时,遇到的需求:自定义显示照片的网格视图,显示用户  最近 采用相机拍摄的前20张照片。 

我查看了系统提供的API,没找到直接指向采用照相机拍照后存储照片的路径常量,若有网友知道,请告之,谢谢!

下面是我采用的笨办法,主要代码片段如下:

// 获取SDcard卡的路径  String sdcardPath = Environment.getExternalStorageDirectory().toString();  ContentResolver mContentResolver = MainActivity.this.getContentResolver();  Cursor mCursor = mContentResolver.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, 
    new String[]{MediaStore.Images.Media._ID, MediaStore.Images.Media.DATA}, 
    MediaStore.Images.Media.MIME_TYPE + "=? OR " + MediaStore.Images.Media.MIME_TYPE + "=?", 
    new String[] { "image/jpeg", "image/png" }, MediaStore.Images.Media._ID + " DESC"); // 按图片ID降序排列  while (mCursor.moveToNext()) {      // 打印LOG查看照片ID的值      long id = mCursor.getLong(mCursor.getColumnIndex(MediaStore.Images.Media._ID));      Log.i("MediaStore.Images.Media_ID=", id + "");            // 过滤掉不需要的图片,只获取拍照后存储照片的相册里的图片      String path = mCursor.getString(mCursor.getColumnIndex(MediaStore.Images.Media.DATA));      if (path.startsWith(sdcardPath + "/DCIM/100MEDIA") || path.startsWith(sdcardPath + "/DCIM/Camera/")        || path.startsWith(sdcardPath + "DCIM/100Andro")) {    Log.i("image path=", path);    img_path.add("file://" + path);      }  }  mCursor.close();


© 著作权归作者所有

丁佳辉
粉丝 20
博文 446
码字总数 203356
作品 0
浦东
程序员
私信 提问
关于调用Android照相功能获取图片

最近在项目中调用相机,使用了别人写好的文件,但发现获取的照片没真正使用系统照相拍照再查看那么清晰,于是研究了一下,发现通常调用照相功能获取的图片都是被压缩的,如果要获取原照,那得...

tyronejw
2015/08/18
54
0
项目需求讨论 - WebView下拍照及图片选择功能

前言: 如果觉得掘金上看图片放大看不清楚,可以跳到另外的同步发布的链接看,放大图片下部有个可以查看原图功能,很清楚:项目需求讨论 - WebView下拍照及图片选择功能 现在很多app里面,都...

青蛙要fly
2018/06/23
0
0
iOS-拍照后裁剪,不可拖动照片的问题

问题 在项目中,选择照片或拍照的功能很长见,由于我之前采用系统自带的UIimagePickViewController遇到一点问题: 使用拍照功能,进行截取时时,拍照完成的图片无法拖动,没有办法进行选择性的截取...

jins_1990
2016/07/08
0
0
组长问我几天能开发一个人见人爱的百万量级Android相机,我是这样回答的...

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由QQ空间开发团队发表于云+社区专栏 最近我负责开发了一个跟Android相机有关的需求,新功能允许用户使用手机摄像头,快速拍摄...

腾讯云+社区
2018/09/19
0
0
Android Camera了解一下

今天我们来了解下Android Camera的一些基本知识,包括下面一些内容 调用设备的相机app拍摄照片 调用设备的相机app拍摄视频 通过相机api拍摄照片和视频 1.调用设备的相机app拍摄照片 先看下效...

juexingzhe
2018/11/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
昨天
59
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
昨天
28
0
全世界到底有多少软件开发人员?

埃文斯数据公司(Evans Data Corporation) 2019 最新的统计数据(原文)显示,2018 年全球共有 2300 万软件开发人员,预计到 2019 年底这个数字将达到 2640万,到 2023 年达到 2770万。 而来自...

红薯
昨天
65
0
Go 语言基础—— 通道(channel)

通过通信来共享内存(Java是通过共享内存来通信的) 定义 func service() string {time.Sleep(time.Millisecond * 50)return "Done"}func AsyncService() chan string {retCh := mak......

刘一草
昨天
58
0
Apache Flink 零基础入门(一):基础概念解析

Apache Flink 的定义、架构及原理 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态或无状态的计算,能够部署在各种集群环境,对各种规模大小的数据进行快速...

Vincent-Duan
昨天
60
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部