相关文章:Android手机读取相册图片,根据URI获取图片路径

从图库获取的Uri:content://media/external/images/media/20782

Uri uri = data.getData();

获取图片的本地路径:/storage/emulated/0/DCIM/Camera/IMG_20181106_142017.jpg

获取方法,将上述的URI传入:

path = getRealFilePath(HnUiUtils.getContext(), uri); //拿到图片

public static String getRealFilePath(final Context context, final Uri uri) {

if (null == uri)

return null;

final String scheme = uri.getScheme();

String data = null;

if (scheme == null)

data = uri.getPath();

else if (ContentResolver.SCHEME_FILE.equals(scheme)) {

data = uri.getPath();

} else if (ContentResolver.SCHEME_CONTENT.equals(scheme)) {

Cursor cursor = context.getContentResolver().query(uri,

new String[]{MediaStore.Images.ImageColumns.DATA}, null, null, null);

if (null != cursor) {

if (cursor.moveToFirst()) {

int index = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);

if (index > -1) {

data = cursor.getString(index);

}

}

cursor.close();

}

}

return data;

}

删除方法:

//删除图库照片

private boolean deleteImage(String imgPath) {

ContentResolver resolver = this.getContentResolver();

Cursor cursor = MediaStore.Images.Media.query(resolver, MediaStore.Images.Media.EXTERNAL_CONTENT_URI,

new String[]{MediaStore.Images.Media._ID}, MediaStore.Images.Media.DATA + "=?",

new String[]{imgPath}, null);

boolean result = false;

if (null != cursor && cursor.moveToFirst()) {

long id = cursor.getLong(0);

Uri contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;

Uri uri = ContentUris.withAppendedId(contentUri, id);

HnLogUtils.e("--deleteImage--uri:" + uri);

int count = this.getContentResolver().delete(uri, null, null);

result = count == 1;

} else {

File file = new File(imgPath);

result = file.delete();

}

HnLogUtils.e("--deleteImage--imgPath:" + imgPath + "--result:" + result);

return result;

}

android删除本地图片,Android之删除图库照片相关推荐

  1. android删除本地图片,Android中结合contentResolver.delete和file.delete实现本地图片的删除...

    最近做的一个需求是:将拍照或相册的图片上传服务器后删除对应的本地图片.在实现这个简单的需求的过程中却碰到了两个意想不到的问题. 这两个问题源自于删除本地图片时选用的两个不同的方法 file.delet ...

  2. android设置本地图片,Android设置头像,手机拍照或从本地相册选取图片作为头像...

     [Android设置头像,手机拍照或从本地相册选取图片作为头像] 像微信.QQ.微博等社交类的APP,通常都有设置头像的功能,设置头像通常有两种方式: 1,让用户通过选择本地相册之类的图片库中已 ...

  3. java 删除本地图片_java如何删除

    package com.data.maint; import java.io.File; import org.apache.log4j.Logger; public class ClearTempI ...

  4. Android 删除本地图片

    以前没有写博客的习惯  换了公司之后 事情慢慢变多  也需要掌握很多的新的我不知道知识   遇到很多问题  网上各种百度  好不容易遇到可以修复bug的博客   这次用完关掉   以后遇到还需要重新百 ...

  5. git创建fork仓库和关联fork仓库 git提交新分支之git删除本地分支和git删除远程分支——git remote prune origin同步分支

    git创建fork仓库和关联fork仓库 & git提交新分支之git删除本地分支和git删除远程分支--git remote prune origin同步分支 & 跨分支合并-新建分 ...

  6. android+文件大小格式化,android 获取本地缓存文件大小,删除功能

    博客地址:http://blog.csdn.net/wwj_748/article/details/42737607 前言 本篇博客要给大家分享的如何获取应用缓存的大小和清除缓存的功能,我们知道我们应 ...

  7. android 点动态显示图片,Android用RecyclerView实现动态添加本地图片

    本文介绍了Android用RecyclerView实现动态添加本地图片,分享给大家,具体如下: 简单介绍一下用法: 1.跳转到图片选择页面: Intent intent = new Intent(Pa ...

  8. android 聊天背景图片,Android 实现从本地读取图片更改聊天背景

    现在很多社交软件都有这个功能,因为本次我参加一个比赛也是要做一个社交软件,所以我就"画蛇添足"的添加了这个一个功能,因为我也是个Android初学者,所以说修改bug浪费了我至少1 ...

  9. Android获取本地图片缩略图终极解决方案

    QAQ学Android真的还是要在项目中获得锻炼,脱离实际一切都是耍流氓哼唧~! 花了一下午时间搞定了项目中要实现的:获取本地图片缩略图并显示在ListView上的,并且点击要能获得该图片文件路径功能 ...

最新文章

  1. python元组类型_什么是python元组数据类型
  2. CTR点击率预估干货分享
  3. Jquery 获取 radio选中值
  4. raise errorclass(errno, errval) sqlalchemy.exc.InternalError: (pymysql.err.InternalError) (1366, u
  5. [译]ABP vNext介绍
  6. 《Windows驱动开发技术详解》之编程加载NT式驱动
  7. 对齐方式有那些_Excel基础:开始菜单之对齐方式,那些被遗忘的实用功能
  8. python缩进来分组语句_Python中的语句,缩进和注释
  9. 检测洛达芯片的软件_购买华强北洛达1562a的10条须知!!!快来看!!!
  10. c语言静态函数调用静态变量_C语言中的静态变量和函数
  11. 通过Windows组策略限制证书组织流氓软件的安装运行
  12. Vue如何通过代理解决跨域问题
  13. PHP获取客户端IP地址方式
  14. 关于DevExpress Winform GridControl GridView 主从表(Master-Detail)导出Excel问题
  15. Number.EPSILON
  16. WMB专题之ESQL
  17. Trajectory Planning (1)——五次、七次多项式
  18. 苗木损耗1.1用计算机怎么算,园林绿化工程量计算方法
  19. springboot连接redis 没有权限 io.lettuce.core.RedisCommandExecutionException: NOAUTH Authentication requir
  20. python开发大型游戏_用Python做大型游戏合适吗?

热门文章

  1. 几何画板中去除画出的线段的教程
  2. golang学习之negroni对于第三方中间件的使用分析
  3. 开发运维(DevOps)自动化运维与持续交付企业级实战
  4. c 语言从指针得到对象,c – 获取指向由智能指针指向的对象的指针 – Ivalue错误...
  5. GLib核心应用支持
  6. 【移动应用开发】2022/2023 年 8 大移动应用程序开发趋势
  7. Arduino零基础实践——1
  8. EC20 AT指令 列举
  9. 三位代表中国科技圈的85后技术男,他们眼中的AI是什么?
  10. tushare实战分析美元黄金与美债收益率、利率的关系