您的位置:首页 > 移动开发 > Android开发

Android Uri获取不到视频文件路径的问题

2016-06-02 18:58 441 查看
今天遇到一个很不解的问题:获取不到本地视频文件的路径

基本情况

机型:Nexus 7

系统:Android 6.0

说明

今天我在做一个选择视频进行上传的功能时,我通过传递一个隐式的Intent打开视频库,点击选择视频文件后返回,在onActivityResult()的data(Intent)参数中通过

Uri uri = data.getData();


获取到文件的Uri对象,然后解析Uri,尝试获取视频的名称,时长,本地地址,后缀等信息:

//获取视频信息
String[] projection = new String[]{
MediaStore.Video.Media.DISPLAY_NAME,
MediaStore.Video.Media.SIZE,
MediaStore.Images.Media.DATA,//绝对路径
MediaStore.Video.Media.MIME_TYPE,
};
Cursor cursor =getActivity().getContentResolver().query(uri, projection, null, null, null);

String name = cursor.getString(0);
long size = cursor.getLong(1);
String path  = cursor.getString(2);
mPath = UriUtils.getPath(getActivity(),uri);
String format = cursor.getString(3);


在这行出现了问题:

String path  = cursor.getString(2);


其他如name,size,format都返回了正确的值,只有path却返回了null,而我通过调试查看Uri的uriString是确实指向的一个路径。通过一番使劲的百度,找到了:解决方案

可我记得在之前做一个查看本地视频列表的功能的时候同样的操作,是可以获取到路径的。不知道这是怎么回事,如果有其他遇到了此类问题,欢迎交流。Uri真是个麻烦的东西啊。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android uri