android开发时在选择模拟器的系统文件夹下的文件时如何得到真实的路径,而不是映射的路径
问题描述:
调用模拟器的系统文件夹选择文件后在onActivityResult()回调函数如何得到真实的路径。
我在选择MP4的视频文件后使用mediaPlayer播放视频时 mPlayer.setDataSource(path);就会在这报错,说是找不到路径
原因分析:
得到的 像直接这样使用得到的都是映射的路径而不是真实的路径。
Uri uri = data.getData();
path = uri.getPath();
解决方案:
试了好多别人的像拼接路径之类的,可能是我太菜了,没啥用。
GitHUb还是好用的,我在某位大佬的项目中找到了解决办法,添加依赖
implementation ‘com.blankj:utilcodex:1.30.6’,应该是别人封装好的函数,我们可以直接拿过来使用,在得到uri后,使用这个函数
Uri uri = data.getData();
path = uri2File(uri).getPath();
这样得到的路径就是真实的路径.
还附带了其他的功能