Android通过内容提供器获取相册中所有图片

Cursor cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, null, null, null);
while (cursor.moveToNext()) {
    byte[] data = cursor.getBlob(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
    String filePath = new String(data, 0, data.length - 1);
}

这样就获取了,输出如下

12-27 11:22:20.267 2206-2206/com.example.wechat I/xbh: /storage/emulated/0/Pictures/after_choose_pic.png
12-27 11:22:20.267 2206-2206/com.example.wechat I/xbh: /storage/emulated/0/Download/after_choose_pic.png
12-27 11:22:20.267 2206-2206/com.example.wechat I/xbh: /storage/emulated/0/DCIM/Camera/after_choose_pic.png
12-27 11:22:20.267 2206-2206/com.example.wechat I/xbh: /storage/emulated/0/DCIM/after_choose_pic.png
12-27 11:22:20.267 2206-2206/com.example.wechat I/xbh: /storage/emulated/0/after_choose_pic.png
12-27 11:22:20.267 2206-2206/com.example.wechat I/xbh: /storage/emulated/0/TIM??20171227233044.png


不过会出了一个权限的问题,你需要在注册文件中声明READ_EXTERNAL_STORAGE,此外还要动态声明权限

if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE)
        != PackageManager.PERMISSION_GRANTED) {
    requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, 0);
}

有关动态声明权限,更详细可以看http://blog.csdn.net/qq_36523667/article/details/78917460

有关获取相册更多信息:图片名,图片注释等,可以看http://blog.csdn.net/bi_diu1368/article/details/52425999

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值