Android Uri获取不到视频文件路径的问题
2016-06-02 18:58
441 查看
今天遇到一个很不解的问题:获取不到本地视频文件的路径
系统:Android 6.0
获取到文件的Uri对象,然后解析Uri,尝试获取视频的名称,时长,本地地址,后缀等信息:
在这行出现了问题:
其他如name,size,format都返回了正确的值,只有path却返回了null,而我通过调试查看Uri的uriString是确实指向的一个路径。通过一番使劲的百度,找到了:解决方案
可我记得在之前做一个查看本地视频列表的功能的时候同样的操作,是可以获取到路径的。不知道这是怎么回事,如果有其他遇到了此类问题,欢迎交流。Uri真是个麻烦的东西啊。
基本情况
机型: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真是个麻烦的东西啊。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories