Android根据Uri获得其在文件系统中的路径

来源:互联网 发布:js数组tostring 编辑:程序博客网 时间:2024/06/07 18:26

一个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;    }


0 0