一个android文件的Uri地址一般如下:

content://media/external/images/media/xxxxx

这是一张图片的Uri,根据这个Uri获得其在文件系统中的路径:

    public static String getFilePathFromUri(Context context, 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;    }

更多相关文章

  1. android 获取路径目录方法以及判断目录是否存在,创建目录
  2. android程序编写的小问题
  3. 简单的 Android(安卓)拍照并显示以及获取路径后上传
  4. android ndk开发
  5. LinearLayout水平居中控制
  6. Android官方命令深入分析之Device Monitor
  7. android全屏去掉title栏的多种实现方法
  8. Android(安卓)Custom Dialog错误Unable to add window -- token
  9. Android(安卓)emulator中的system.img,userdata.img和ramdisk.img

随机推荐

  1. PHP基础知识:命名空间的使用、自动加载器
  2. 轻量级流程图控件GoJS最新版本v2.1.35发
  3. Oracle OCP 19c 认证1Z0-083考试题库(第4
  4. 888. 公平的糖果棒交换
  5. 窗口函数更新
  6. Oracle OCP 19c 认证1Z0-083考试题库(第5
  7. 混合加密应用方案
  8. 虚拟机常见的网络类型有哪些?linux运维学
  9. 1216CSS优先级
  10. 命名空间与数据库基础