我正在使用按钮从
等设备中挑选视频dStatus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("video/*");
startActivityForResult(photoPickerIntent, SELECT_VIDEO);
}
});
然后在onActivityResult
我有类似的东西
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
switch(requestCode) {
case SELECT_VIDEO:
if (resultCode == RESULT_OK) {
Uri selectedVideo = data.getData();
final String realPath = selectedVideo.getPath();
}
break;
}
}
我需要的realPath
是设备中文件的位置,例如/directory/subdirectory/myVideo.mp4
。我之前曾尝试过stackoverflow
本身的很多帖子。所有结果都会导致realPath
的值为null
。我试过的帖子是
因此,如果你知道任何有用的方法,请在下面给我建议。不要标记为重复和其他东西。我知道什么都没有用。
答案 0 :(得分:0)
此方法返回视频contentUri的真实路径。
public String getRealPathFromURI(Context context, Uri contentUri) {
String res = "";
String[] proj = { MediaStore.Video.Media.DATA };
Cursor cursor = context.getContentResolver().query(contentUri, proj, null, null, null);
if (cursor != null) {
if (cursor.moveToFirst()) {
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA);
res = cursor.getString(column_index);
}
cursor.close();
} else {
Log.d(TAG, "Cursor is null");
return contentUri.getPath();
}
return res;
}