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

Android从URI读取文件路径返回null,android,Android,我试图从sd卡或其他用户喜欢的路径中选择文件,在这个示例中,我的代码从uri获取文件路径返回null,我无法解决这个问题。我正在使用android默认文件管理器来选择文件 @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_CODE_PICK_VIDEO && resultCode == Activ

我试图从
sd卡
或其他用户喜欢的路径中选择文件,在这个示例中,我的代码从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();
        }
    }
}

URI不必包含文件路径的内容。但是,如果有一个附加了URI的文件路径,您可以使用它来绘制。

什么是TagetAPI?您选择的是视频还是图像?@DarshanKachhadiya android 7.0