Android从URI读取文件路径返回null

时间:2017-02-23 09:27:16

标签: android

我正在尝试从sd-card或其他用户喜欢的路径中选择文件,在此我的代码获取文件路径从uri返回null,我无法解决此问题。我正在使用android默认文件管理器来选择文件

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == REQUEST_CODE_PICK_VIDEO && resultCode == Activity.RESULT_OK) {
        Uri uri = data.getData();
        Log.e("", "Video URI= " + getRealPathFromURI(context, uri));
    }
}

public String getRealPathFromURI(Context context, Uri contentUri) {
    Cursor cursor = null;
    try {
        String[] proj = {MediaStore.Images.Media.DATA};
        cursor = context.getContentResolver().query(contentUri, proj, null, null, null);
        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        cursor.moveToFirst();
        return cursor.getString(column_index);
    } finally {
        if (cursor != null) {
            cursor.close();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

URI无需使用它来存储文件路径。但是如果有一个附加了URI的文件路径,您可以使用this solution绘制它。