2017-02-23 90 views
-2

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

@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(); 
     } 
    } 
} 
+0

我的taget api? –

+0

你正在选择视频或图像? –

+0

@DarshanKachhadiya android 7.0 –

回答

0

URI不需要使用它为文件路径添加内容。但是如果有一个附有URI的文件路径,您可以使用this solution来绘制它。

+0

不适合我 –

相关问题