获取图片和视频是app中很常见的需求,这里我提供两种方法,各有利弊,大家可以根据自己的需求选择。

方法一:

/*** 扫描本地图片*/
public static void getLocalPhoto(List<String> list) {new Thread(new Runnable() {@Overridepublic void run() {Uri mImageUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;ContentResolver mContentResolver = mContext.getContentResolver();//只查询jpeg和png的图片  Cursor mCursor = mContentResolver.query(mImageUri, null,MediaStore.Images.Media.MIME_TYPE + "=? or "+ MediaStore.Images.Media.MIME_TYPE + "=?",new String[]{"image/jpeg", "image/png"}, MediaStore.Images.Media.DATE_MODIFIED);if (mCursor == null) {return;}while (mCursor.moveToNext()) {//获取图片的路径  String path = mCursor.getString(mCursor.getColumnIndex(MediaStore.Images.Media.DATA));if (!TextUtils.isEmpty(path)) {list.add(path);}}mCursor.close();}}).start();
}

推荐使用这种方式去读取图片,速度很快!
其实大家仔细看看代码会发现,将以上出现Images的地方换做video,就可以去读取视频了,其它代码一样,这里就不重复了。

方法二:

public static void getVideoFile(final List<String> list, File file) {// 获得视频文件file.listFiles(new FileFilter() {@Overridepublic boolean accept(File file) {// sdCard找到视频名称String name = file.getName();int i = name.lastIndexOf('.');//一定是找最后一个点出现的位置,否则无法找到名字中包含点的文件if (i != -1) {name = name.substring(i);if (name.equalsIgnoreCase(".mp4")|| name.equalsIgnoreCase(".avi")) {list.add(file.getAbsolutePath());return true;}} else if (file.isDirectory()) {getVideoFile(list, file);}return false;}});}

第二种方式是通过递归的方式去目录下检查每一个文件,若发现是MP4文件,则将路径add到list中,这种方式可以很全面的找到你想要的文件(这里将文件名后缀改成jpeg、png就可以获取图片啦!),但是由于是递归方式去找,文件一旦多了,速度会很慢,效率很低下,建议如果想要全面查找视频文件可以用,简单需求可以使用第一种方式!

快速获取手机本地所有图片或视频相关推荐

  1. vue 编写H5页面在公众号外部获取手机本地坐标经纬度

    1.必须先注册个公众号,且认证后去下面这个地方配置好您的域名这仨地方都得设置,目前我试了下用域名还是用具体项目所在的文件夹目录没什么明显差异 譬如你是用shuzhiqiang.com或者shuzhiq ...

  2. 在Android中快速获取手机的高级权限

    在Android中快速获取手机的高级权限 想要快速获取Android手机的ROOT权限吗?也许因为ROOT教程太复杂,也许因为不会进工程模式,让我们在使用Android手机时感觉像是开别人的车一样,总 ...

  3. Android获取手机本地图片并显示

    一.序言 在安卓开发过程中,有时候我们的应用需要使用手机本地图片,这就需要本地图片访问权限以及相关的获取方法,本文将手机本地图片的获取流程和代码做了一个总结,希望能够对大家有一定帮助: 二.功能分析 ...

  4. android手机 不显示本地视频,各位大神们 android怎么获取手机本地视频啊?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 String progress[]={ MediaStore.Video.Media.DISPLAY_NAME,//视频的名字 MediaStore.Vi ...

  5. android获取本地所有视频,各位大神们 android怎么获取手机本地视频啊?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 String progress[]={ MediaStore.Video.Media.DISPLAY_NAME,//视频的名字 MediaStore.Vi ...

  6. Android 搜索手机本地的全部视频(通过查询数据库)

    开始的时候我是通过根路径去遍历,发现行不通.不知道是手机的问题还是逻辑问题(个人觉得没毛病),最后我就是用了查询手机的数据库来找出所有的本地视频. 话不多少说. 下面的类,是主界面的一个内部类.因为要 ...

  7. Android之用adb命令快速获取手机IP方法总结

    方法1 adb shell netcfg 方法2 adb shell netstat 找到local address 方法3 手机root 安装busyboxadb shell ifconfig

  8. 获取手机本地的图片或者照相机照像的图片 为头像

    第一步点击获取头像按钮 下面为按钮执行方法 判断设备是否具有照像机功能有的话执行前者方法没有执行后者方法 UIActionSheet *actionSheet; if([UIImagePickerCo ...

  9. 安卓获取手机视频和图片

    安卓获取手机视频和图片 获取手机本地视频 首先需要获得手机内存权限 在AndroidManifest.xml中添加代码,获得读取权限 android.permission.READ_EXTERNAL_ ...

最新文章

  1. 6大准则+10道习题,终于有人把怎样选择图表讲明白了
  2. NASA打算送机器蜜蜂去探索火星上的生命痕迹
  3. Linux 的账号与群组(转)
  4. 洛谷 P1064 金明的预算方案
  5. VMware workstation 14安装windows虚拟机
  6. 表单form数据默认以键值对的形式将数据回发到服务器,回发非纯文本需使用enctype=multipart/form-data方式编码为整条消息...
  7. Stack Overflow 监控系统内部架构初探
  8. Gym - 100952H--H. Special Palindrome--dp整数划分(模板)
  9. 个推开发者服务进阶之路
  10. 环境配置:Qt5.5+VS2013+OpenCv3.1.0+Win7(64bit)
  11. 百度进军游戏;腾讯起诉抄袭者;苹果急撤 watchOS 5.1 更新 | 极客头条
  12. 神经网络求解二阶常微分方程(代码)
  13. 安装kali的过程以及菜咩学到的基础知识
  14. 汇编语言 - 实验 - 计算 (X+(Y*Z-100))/W
  15. 用万用表测量NPN、PNP、NMOS、PMOS的好坏或分极
  16. 【排障】为什么你发出去的邮件被退回
  17. android测试版微信7.0下载地址,微信8.0.6手机测试版本
  18. 激光雷达运动畸变去除方法
  19. python数字华容道
  20. idea maven子项目图标右下角没有小蓝方块

热门文章

  1. Axure设置图片和设置文本
  2. 使用Runnable接口创建线程,很简单
  3. 并发并行同步异步的区别
  4. 《基于Linux物联网综合项目》常见问题汇总fae
  5. 有道云笔记 Markdown 中如何引用自己的图片不用开通会员的办法(之前网友提到使用图片的分享链接失效后的又一办法)
  6. zabbix 使用企业微信群机器人,使用markdown消息艾特群成员(@群成员)发送告警消息
  7. mysql只update不做修改_客厅不做吊顶,只贴石膏线,怎么做漂亮?10种方式任你挑选!...
  8. 将阴天欠曝发暗的照片后期调出小清新色调效果
  9. php mysql redis mq_PHP基于Redis消息队列实现发布微博的方法
  10. 开发商未及时安装隔音罩业主能索赔吗